Unfortunately it may not be that simple on motherboards with integrated graphics. There is only one NVRAM chip. This NVRAM is owned by the PIIX4E bridge. I am not sure how they would do the expansion ROM base address for the AGP stuff.
If the system BIOS has to initialise the graphics chipset using codes from itself (instead of the usual call to the graphics chipset BIOS), then the system BIOS becomes less generic, probably customised for the motherboard-graphics chip combination. I'm not sure if this would be the usual case as it seems less cost-effective, because everytime the graphics chip changes architecturally, the system BIOS has to change.
The expansion ROM base address register is part of the PCI configuration space which is part of a usual PCI device (i.e. graphics chip). When a value (a physical address) is written to the expansion ROM base address register, the graphics chip will respond to that address, within some range. However, if it is not implemented, this register is hardwired to zero. So, if it is implemented, you can read off the expansion ROM from the address that you specify. If the first 2 bytes are 0x55, 0xaa then it is a valid expansion ROM, and the ???forgotten??? location is the initialization routine entry point. This PCI configuration space is usually part of the graphics chipset (not on an NVRAM). The expansion ROM may however be on an NVRAM.
<I think NVRAM stands for non-volatile random access memory, correct me if I'm wrong.>
- To unsubscribe: send mail to firstname.lastname@example.org with 'unsubscribe openbios' in the body of the message