On Wed, Nov 26, 2008 at 08:46:43AM -0800, ron minnich wrote:
On Wed, Nov 26, 2008 at 8:39 AM, Kevin O'Connor kevin@koconnor.net wrote:
In order to minimize the number of address decoders needed, a device may share a decoder between the Expansion ROM Base Address register and other Base Address registers. When expansion ROM decode is enabled, the decoder is used for accesses to the expansion ROM and device independent software must not access the device through any other Base Address registers.
Wow, I hope no hardware ever implemented that bad idea :-)
Anybody know? how is an expansion rom supposed to actually get to the hardware at that point, I wonder. ...
The steps are: enable option rom decode, copy option rom to memory, disable option rom decode, run option rom. So, the option rom runs when it can access the device.
If you're curious - google for "PCI Firmware Specification v3.0 (2005-06-20).pdf" and read section 5.2.
-Kevin