Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 1996 18:07:37 -0800
From:      "Justin T. Gibbs" <gibbs@freefall.freebsd.org>
To:        Sujal Patel <smpatel@wam.umd.edu>
Cc:        Neil Bradley <neil@synthcom.com>, Terry Lambert <terry@lambert.org>, hasty@rah.star-gate.com, freebsd-hackers@freebsd.org
Subject:   Re: PnP problem... 
Message-ID:  <199601110207.SAA20869@freefall.freebsd.org>
In-Reply-To: Your message of "Wed, 10 Jan 1996 20:27:14 EST." <Pine.BSF.3.91.960110202406.9867D-100000@sl-015.sl.cybercomm.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>On Wed, 10 Jan 1996, Neil Bradley wrote:
>
>> 1) Disable all PNP devices
>> 2) Probe for ISA
>> 3) Obtain EISA information - report conflicts with ISA devices
>> 4) Initialize EISA devices
>> 5) Init PnP devices
>> 6) Init PCI devices
>> 7) Boot system ;-) 
>
>Unfortuantely, this won't work...  In FreeBSD, it goes

But it could.  You just need a configuration manager.

>Init PCI
>Init EISA
>Init PC-Card
>Init ISA
>
>This seems like a pretty intergal part of the boot process.

The only reason its in that order now is so that PCI/EISA devices that
have an ISA compatibility mode are found by the PCI/EISA probes first.
Neil's approach is more along the lines of how it should be, and the EISA
code at least was written thinking that the attach of devices wouldn't
necessarily follow the probe.

>I really 
>don't see changing this without ripping about huge amounts of code (Which 
>I'm not going to do, just to introduce this minor addition to the 
>kernel).

Yes, it would require a lot of work in the ISA area, but the PCI and EISA
code could be changed to work this way rather easily.  My init order
is slightly different though:

1) Find PCI devices and obtain their attributes
	(ie relocatable and non-relocatable resources).

2) Find all EISA devices and their attributes

3) Probe all ISA devices.  A probe returns whatever information can
be obtained non-invasively.  If a driver can't determine the I/O port,
for example, it returns a map of all possible ports.

4) Based on the above info, do your topological sort, and attach devices
not based on their bus type, but on their relative flexability in
configuration (least configurable first).

The listing is not complete, but you get the idea.  You should keep this
in mind while doing your PnP work since I think this is the approach
we should be shooting for.

>Sujal
>

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601110207.SAA20869>