Subject: Re: Plug and Pray
To: Ross Harvey <ross@ghs.com>
From: Matthias Drochner <drochner@zel459.zel.kfa-juelich.de>
List: port-i386
Date: 06/11/1999 21:03:35
ross@ghs.com said:
> We quickly reset all the pnp devices' configurations.  This isn't
> right at all, lots of useful information is lost that way, and the
> non-volatile config information and resource allocation in the bios is
> just thrown away. 

I fully share your opinion about the ISAPnP implementation. It's not
only that it throws away configuration data, it also fails with
broken hardware where the reset doesn't work - the infamous "card
found twice at different addresses" symptome.
The PnP BIOS, however, provides infirmation about devices wired to
the motherboard which are not ISAPnP devices. (The said ThinkPad
has no ISAPnP devices at all.) It's just another source of information.

> if we just check in the isapnp
> probe for each device whether someone else configured it, and if we use
> the bus_space I/O port extents to prevent reattachment.

One if the PnPBIOS functions (ch. 4.7.3 in the specification) returns
ISAPnP specific information: the number of cards and the "read data port".
I'd hope that if this function succeeds, we can be sure that the BIOS
configured the ISAPnP cards. (Well, perhaps as sure as we can assume
that the PCI cards are configured - the "PnP OS" setting might apply
as well.)
We could add another attachment to "isapnp": "isapnp0 at pnpbios0"
which skips the port scan and uses the configured settings. "pnpbios"
should be attached before "isa" anyway, so this should just work.

best regards
Matthias