Hi,
On Thu, Oct 30, 2008 at 04:24:41PM +0200, Andriy Gapon wrote:
In northbridge/intel/i440bx/raminit.c:sdram_set_spd_registers all PAM registers are programmed for RAM R/W access (0x33). When SeaBIOS searches for option ROMs (including VGA ROM) it doesn't do anything about PAM, so it sees empty memory instead of the ROMs.
I am not sure what is the best solution here. It is debatable how coreboot should set PAM register, and it is not right to make SeaBIOS too hardware dependent.
Maybe coreboot could somehow export functions for setting access to option ROM space (aka legacy memory segments) and SeaBIOS could call them.
Currently, SeaBIOS needs coreboot to copy the option roms to memory in order for SeaBIOS to run them.
I modified my copy of coreboot-v2 to do this (at least for epia-m/cn). I posted this change (along with other stuff) at:
http://www.coreboot.org/pipermail/coreboot/2008-September/038551.html
I'm planning on enhancing SeaBIOS so that it can scan all the PCI devices and copy the option roms from the card to memory. For built-in vga devices on coreboot-v2, I'll add support for hardcoding the rom address for an option rom. Finally, I'd eventually like to add simple lar support so that SeaBIOS can pull option roms out of the lar on coreboot-v3.
PCI option rom copying looks to be straight forward and not too system specific. Unfortunately, I don't have any PCI devices with option roms handy, so I'll need some help to test it.
-Kevin