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.
-Dave