Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net writes:
On 20.07.2008 22:57, ron minnich wrote:
On Wed, Jul 16, 2008 at 6:47 PM, Kevin O'Connor kevin@koconnor.net wrote:
Hi Myles,
On Wed, Jul 16, 2008 at 07:29:29PM -0600, Myles Watson wrote:
Finding the option roms is easy - they are located between 0xc0000 and 0xe0000 and are 2KiB aligned.
That can be true after Coreboot copies them there. Devices which have option ROMs on the card are located somewhere in the PCI address space until they are copied. On-board devices have their option ROMs contained somewhere in the BIOS chip.
Right. I'm a proponent of having coreboot be responsible for copying the option roms to their locations in ram. Once coreboot loads the option roms then seabios can easily locate and run them
you're assuming they would all fit at one time into 64k. Not necessarily the case. What has to happen is copy (or map) the rom, run it, remove it, and so on. At least that's how I remember it working. It was easier in the emulator as the copy step is not needed.
If any of the option ROMs install interrupt handlers (video etc.) they may have to remain in memory after being run.
The space for options ROMS is 3*64K or 192K 0xc0000 0xd0000 0xe0000 with 0xf0000 consumed by the BIOS.
Further a well behaved option ROM will trim it's size after initialization which allows you to pack in even more.
For coreboot this is a don't care. For SEABIOS it is interesting.
Eric