From owner-freebsd-hackers Wed Jan 10 18:07:49 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id SAA20882 for hackers-outgoing; Wed, 10 Jan 1996 18:07:49 -0800 (PST) Received: from localhost.cdrom.com (localhost.cdrom.com [127.0.0.1]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id SAA20869 Wed, 10 Jan 1996 18:07:37 -0800 (PST) Message-Id: <199601110207.SAA20869@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: Host localhost.cdrom.com [127.0.0.1] didn't use HELO protocol To: Sujal Patel cc: Neil Bradley , Terry Lambert , hasty@rah.star-gate.com, freebsd-hackers@freebsd.org Subject: Re: PnP problem... In-reply-to: Your message of "Wed, 10 Jan 1996 20:27:14 EST." Date: Wed, 10 Jan 1996 18:07:37 -0800 From: "Justin T. Gibbs" Sender: owner-hackers@freebsd.org Precedence: bulk >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 ===========================================