I was wondering if someone could point me to the right direction in terms of where in CoreBoot is are the various system Option ROMs copied. As I understand it, Option ROMs are generally found by probing the PCI bus and copied into RAM so that they can be handled by INT13 requests. So, I'd like to know what part of the code handles that and also how the memory map of those copied addresses are laid out. Thanks in advance,
Jeffrey
On Wed, Aug 19, 2009 at 7:44 AM, Jeffrey C. Jacobsbiosdev@timehorse.com wrote:
I was wondering if someone could point me to the right direction in terms of where in CoreBoot is are the various system Option ROMs copied. As I understand it, Option ROMs are generally found by probing the PCI bus and copied into RAM so that they can be handled by INT13 requests. So, I'd like to know what part of the code handles that and also how the memory map of those copied addresses are laid out.
nowadays, most of the work is done in cbfs.
ron
On Wed, Aug 19, 2009 at 8:44 AM, Jeffrey C. Jacobsbiosdev@timehorse.com wrote:
I was wondering if someone could point me to the right direction in terms of where in CoreBoot is are the various system Option ROMs copied.
There are two answers to this question depending on how you want it to happen. 1. Coreboot and vm86, yabel, or x86emu look in src/devices/pci_rom.c and src/devices/pci_device.c
It's controlled by CONFIG_PCI_ROM_RUN, CONFIG_VGA_ROM_RUN, CONFIG_CONSOLE_VGA, CONFIG_PCI_OPTION_ROM_RUN_YABEL, CONFIG_PCI_OPTION_ROM_RUN_REALMODE...
I'm not sure about multiple ROMs at once.
2. SeaBIOS Put the ROMs in CBFS with the correct device ID and vendor ID, and disable Coreboot's ROM running. SeaBIOS will handle them all.
Thanks, Myles
On Wed, Aug 19, 2009 at 8:23 AM, Myles Watsonmylesgw@gmail.com wrote:
- SeaBIOS
Put the ROMs in CBFS with the correct device ID and vendor ID, and disable Coreboot's ROM running. SeaBIOS will handle them all.
In the long term, if you want to work with the world's option ROMs, this is almost always the right answer.
ron