Re: PCI Expansion ROM not executed

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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?

.



Relevant Pages

  • PCI card initialisation at boot
    ... We have 40 linux PCs deployed in a mobile environment, ... subjected to pretty harsh conditions that can cause BIOS corruptions. ... the user app tries to access the pci card. ... There is another option in the BIOS to set "Resource allocation by ...
    (Linux-Kernel)
  • Re: New PCI card - cannot see anything in monitor
    ... graphics adapter, rebooted my box, set my PCI card as default in my ... BIOS and everything is working fine now! ... came with it and I have a new PCI video card I bought and installed ... I have set it to use the PCI card. ...
    (alt.comp.hardware.pc-homebuilt)
  • Re: New PCI card - cannot see anything in monitor
    ... graphics adapter, rebooted my box, set my PCI card as default in my ... BIOS and everything is working fine now! ... came with it and I have a new PCI video card I bought and installed ... I have set it to use the PCI card. ...
    (alt.comp.hardware.pc-homebuilt)
  • Re: DualScreen, 2 cards, AGP and PCI, have to boot from PCI?
    ... if i go to my BIOS and set the INIT to the PCI CARD, ... dunno) is the one connected to my AGP card. ... > if i init from AGP, i have X only, and no dualscreen. ...
    (comp.os.linux.x)
  • PCI Expansion ROM not executed
    ... I had experienced that some latest desktop PCs are failing to ... generate interrupt for a PCI card. ... PCs completely ignore the instructions in the PCI card expansion ROM. ... My PCI card supplier also mentioned that whether or not the expansion ...
    (microsoft.public.development.device.drivers)