Re: ISA slot detection on PCI systems?

From: Eric S. Raymond (
Date: Fri Jan 04 2002 - 14:41:46 EST

Vojtech Pavlik <>:
> You'll have to add motherboards that have no ISA slots, but onboard ISA
> devices to the list.
> I'd suggest looking at the output of /proc/bus/isapnp as well, because
> if it lists any devices, you certainly need ISA support.

OK, apparently some people are still confused about what I'm trying to do.
That's no surprise. It confuses *me* sometimes!

The issue is not ISA support, it is ISA *card* support. At the moment,
and for the foreseeable future, X86 implies ISA. Someday there may be
X86 motherboards without on-board ISA devices, but that's a few years off.
When that does happen, my logic will be something like this, where
PCI_BRIDGE is the test for whether PC reports an ISA bridge.

X86 and ((PCI and ISA_BRIDGE) or not PCI) => ISA

The "not PCI" case represents old ISA-only machines.

What I'm actually trying to do is determine whether the machine can
take ISA *cards*, and use that computation to suppress questions about
ISA cards (probed ones would still be found). For this, the logic
should look as follows, where:

* DMI means "reports DMI"
* DMI_ISA means "DMI reports ISA slots"
* BLACKLISTED means the motherboard is in an exception list of PCI-supporting,
       DMI-supporting motherboards that falsely claim not to have ISA slots.

X86 and ((not PCI) or (not DMI) or DMI_ISA or BLACKLISTED => ISA_CARDS

This is one reason I want /sys/dmi -- because if I *don't* see it, that
means I should assume the machine is old enough to take ISA cards. This
filter should make the blacklist relatively small -- we wouldn't have to
track even PCI motherboards older than the DMI standard.

A key point is that as ISA phases out (near future now), the blacklist
will stop growing. Ballpark guess is it will top out below 150 entries.

		<a href="">Eric S. Raymond</a>

If I were to select a jack-booted group of fascists who are perhaps as large a danger to American society as I could pick today, I would pick BATF [the Bureau of Alcohol, Tobacco, and Firearms]. -- U.S. Representative John Dingell, 1980 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:26 EST