Re: PCI: BIOS forgot to enable I/O

Martin Mares (mj@atrey.karlin.mff.cuni.cz)
Tue, 31 Mar 1998 15:33:32 +0200


Hi,

| This occurs because Microsoft has convinced BIOS makers to modify
| their PCI device configuration from the previous rational standard,
| to one that works well only with Microsoft operating systems. Where
| previously the BIOS allocated resources for and enabled the PCI
| device by default, it now does so only for boot devices and audio
| devices. (Why are audio devices specifically an exception? Because
| MS-Windows can't handle the resource allocation for them!)

> It turns out that my cards weren't detected with an all-ones station
> address (but I saw this behavior under 2.0.32)... but disabling the "PnP
> OS" setting in BIOS did the trick.

Grrr. They should be shot. We will probably have to make Linux automatically
enable I/O and memory accesses in such cases instead of just reporting them, but
it still won't solve the IRQ problems (we cannot guess IRQ's as we don't know
the routing of PCI interrupts pins to the interrupt controller). It seems the
best strategy we can choose is to change the kernel message to advise the user
to switch off the "PnP OS" setting in BIOS.

> I'm also including, as you requested, the output of "lspci -vvx", both
> for the original, PnP setting, and the current PnP-disabled setting
> that works. Both under 2.1.89

Thanks a lot.

Have a nice fortnight

-- 
Martin `MJ' Mares   <mj@ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"A LISP programmer knows value of everything, but cost of nothing."

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu