Subject: Re: PCI enumeration (was: ne2000 PCMCIA not working as PCMCIA either.)
To: None <tech-kern@netbsd.org>
From: Rafal Boni <rafal@mediaone.net>
List: tech-kern
Date: 10/18/1999 11:15:14
In message <199910180528.BAA02244@ginger.cmf.nrl.navy.mil>, Ken wrote: 

-> Thanks for the information; I had feared this was going to happen
-> eventually (a PC which doesn't do the right thing when "Plug and
-> Play OS" was set to no).  I was hoping in Jonathan's case it would
-> get him going.

Note that there are also laptops which don't give you such an option.
My DEC HiNote VP765 is one of those.

-> >It mighgt be something broken BIOS, but this type of PC exists.
-> 
-> I believe the opinion is divided as to whether or not the BIOS is
-> required to do this.

Although I realize that relying on the PCI BIOS to get interrupt/IO/etc. 
information may be as dangerous as relying on it to have set the machine up
correctly in the first place, there are cases where the BIOS has information 
that would be otherwise hard to come by.

On my laptop, the UHCI is wired such that it will only work with IRQ 10 (as
implied by the manuals, which state that once the USB support module for
Win95 is installed, IRQ 10 will not longer be usable for anything else).

Similarly, the TI1131 CardBus bridge is wired directly to IRQ 11 (this one
seems to be undocumented, but it didn't work on any of the other free IRQ's
I tried...).

The PCI BIOS correctly notes that IRQ 10 is the only available IRQ for the
UHCI and that IRQ 11 is the only one available to the CBB.  Why the BIOS does
not set these up explicitly on boot is anyone's guess (perhaps the general 
lack of available interrupts), but the information is there and correct...

We could certainly get this information some other way... for instance doing 
a Linux-like "test if interrupt is received before allowing it to be allocated 
to a device", but it seems we should use the information the PCI BIOS provides
if we have it.

Just MHO,
--rafal

----
Rafal Boni                                                  rafal@mediaone.net