Question about AGP

Dave Ashley linuxbios at
Tue Jun 22 09:11:01 CEST 2004

Regarding the EPIA-M, I've determined more about the situation. The CLE266
comes up with the AGP memory area mapped at 0, but AGP is disabled. The
actual memory area is defined by pci device 00.0 memory resource #0 at offset
$10 in pci config space. When linuxbios goes to try to assign space for this,
it gives up after it decides the resource is read-only.

What's happening is the bit to enable AGP (00.0 byte $88 bit 1) if set to
0 causes the upper 4 bits of the longword at $10 to always read back 0.
So in order to actually configure that region you need to set the bit to 1.
But if you set the bit to 1 and the region is still set to the default value
of 0 the system locks up because you're now stepping on RAM.

So to initialize agp on epia-m you need to
1) Write some safe value to the memory region at 00.0 offset $10, say
$e0000000. It won't read back as $e0000000, it'll still read back as $00000000.
2) Enable 00.0 byte $88 bit 1 (bits go from 0 to 7)
3) Set graphics aperture size to 128 mbytes by writing $80 to 00.0 byte $84.
4) Fall through to normal pci resource allocation

I haven't implemented this yet within linuxbios V1 but I will try it out and
post again.


More information about the coreboot mailing list