Resource Allocation for Option Rom

Li-Ta Lo ollie at
Thu May 27 15:28:00 CEST 2004

On Thu, 2004-05-27 at 14:30, Stefan Reinauer wrote:
> * Eric W. Biederman <ebiederman at> [040527 22:16]:
> > We could probably reserve a hole for this purpose, which
> > is a good idea except for bridges. 
> Also, the graphics card option roms are usually hardcoded to 0xc0000

Do you mean the expansion rom BAR is hard coded to 0xc0000 ?
The how does the bios copy the bios in ROM at 0xc0000 to memory
in DRAM at 0xc0000 as stated in PCI spec ?

> > Be very careful here.  The PCI spec allows the option rom BAR
> > to be mutually exclusive with the other BARS so in general
> > they both can not be enabled.
> The only safe way to go is probably to probe one after the other while
> leaving the rest untouched, i.e
>  1) probe option rom, if it doesn't exist go to 6.
>  2) enable option rom
>  3) evtl. copy rom code to ram (in case it installs an 
>     int13 handler or such)
>  4) execute option rom code.
>  5) disable option rom
>  6) repeat this for all pci devices.

If I am right you should disable option rom BEFORE execute the
code in DRAM. The spec says it is possible that the other BAR
shares the same address decoder with ROM BAR.


> This procedure should be a part of "testbios" rather than LinuxBIOS' PCI
> code, but reserving some space for it early might be the way to go
> indeed.
>    Stefan

More information about the coreboot mailing list