Re: ISA slot detection on PCI systems?

Vojtech Pavlik
2002-01-04T20:20:42Z

On Fri, Jan 04, 2002 at 02:41:46PM -0500, Eric S. Raymond wrote:

> Vojtech Pavlik <vojtech@suse.cz>:
> > 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!

I think I understand you. The problem is that many ISA chips (sound,
others) that are normally used on ISA cards, and thus handled by drivers
most likely labeled by the ISA_CARDS flag, can be, and were often
integrated onto mainboards, even if those didn't have any ISA slots.

Think (possibly older generation, like P-MMX based) notebooks ... there
you can have

X86 ... true
PCI ... true
DMI ... true
DMI_ISA ... false
BLACKLISTED ... possibly true, if you blacklist most notebooks

and yet have many ISA drivers needed for proper operation of the
machine.

>
> 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.
> --
> Eric S. Raymond
>
> 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

--
Vojtech Pavlik
SuSE Labs