Re: PCI Expansion ROM not executed
- From: "Stephan Wolf [MVP]" <stewo68@xxxxxxxxxxx>
- Date: 22 Jan 2007 06:14:56 -0800
I'd almost bet if you ask the BIOS supplier the answer will be that the
PCI card supplier does not follow the PCI specs.
Not sure whether any BIOS actually supports an option to enable or
disable expansion ROMs.
The following is all based on what I currently remember, so if memory
serves me right then...:
IIRC, the BIOS first copies PCI expansion ROMs from "high" memory to
the RAM area between 640 KB and 1 MB (usually beginning at 0xC0000).
The expansion ROM has an id byte that says on which target CPU the ROM
code can be executed, i.e., usually x86. On x86, this code is then
executed in "x86 real mode" (but as PCI always implies a 32-bit CPU,
the 32-bit registers are available using an opcode prefix). When this
"initial" code is done, it returns and tells the BIOS how much of the
initially copied ROM size shall remain in RAM (but read-only).
There are for sure some possibilities to "break" the PCI specs here.
Both for the BIOS and the expansion ROM but also for the PCI
configuration space.
If you want to actually find out, carefully read the PCI specs section
that covers expansion ROMs. Also read the BIOS specs on the same topic.
Download and check the links in the following paper:
"Specifications: Hardware and Firmware Standards"
http://www.microsoft.com/whdc/resources/respec/specs/
Stephan
---
hq4000@xxxxxxxxxxx wrote:
Recently, I had experienced that some latest desktop PCs are failing to
generate interrupt for a PCI card. With the help of the PCI card
supplier, the issue is caused by new PCs are not compliant with the
portion of the PCI specification concerning expansion ROM. That is the
PCs completely ignore the instructions in the PCI card expansion ROM.
Unfortunately, the PCI card expansion ROM contains code that governs
interrupt generation.
My PCI card supplier also mentioned that whether or not the expansion
ROM is executed is a function of the BIOS. Here is my question: what
setting(s) if any are in the BIOS governing the execution of a PCI card
expansion ROM?
.
- References:
- PCI Expansion ROM not executed
- From: hq4000@xxxxxxxxxxx
- PCI Expansion ROM not executed
- Prev by Date: Re: Problems with signed driver
- Next by Date: Re: NetVMini Virtual Miniport and OID_GEN_MAXIMUM_FRAME_SIZE Not Working
- Previous by thread: PCI Expansion ROM not executed
- Index(es):
Relevant Pages
|