From owner-freebsd-hackers Wed Jul 30 00:01:48 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id AAA14477 for hackers-outgoing; Wed, 30 Jul 1997 00:01:48 -0700 (PDT) Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id AAA14456; Wed, 30 Jul 1997 00:01:41 -0700 (PDT) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.5/8.8.5) with ESMTP id AAA00475; Wed, 30 Jul 1997 00:01:14 -0700 (PDT) Message-Id: <199707300701.AAA00475@rah.star-gate.com> X-Mailer: exmh version 2.0gamma 1/27/96 To: Luigi Rizzo cc: hackers@freebsd.org, multimedia@freebsd.org Subject: Re: Advice sought on PnP configuration In-reply-to: Your message of "Wed, 30 Jul 1997 06:04:33 +0200." <199707300404.GAA03229@labinfo.iet.unipi.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 30 Jul 1997 00:01:13 -0700 From: Amancio Hasty Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi Luigi, PCI devices should be probed and attached last for they are they are the most flexible to configure and can share interrupts. Cheers, Amancio >From The Desk Of Luigi Rizzo : > > Hopefully, with the on-going work in the multimedia group we will > > make the use of PnP devices a very painless experience. > > I am revising the PnP configuration stuff. I have got to a point > where it behaves very similarly to the PCI configuration stuff, > i.e. it relies on the BIOS to set addresses and IRQs correctly, > and then fetches the parameters from the board and passes them to > the driver. No manual configuration required (of course, the OS > must recognize your card, but that's another problem and is common > with PCI stuff -- within some time, a reasonable database of card > IDs can be compiled to have things working for a wide range of > boards). > > HOWEVER: this relies on the PnP (or PCI for what matters) BIOS to > work correctly (which might be false, see at the end of the message). > > In order to configure cards correctly, the bios should know which > IRQs and which I/O address ranges are used by plain isa devices. > The former can be told to some bioses, the latter I have never seen > how to do on my systems. This is not a big deal with PCI devices > since they usually map addresses in the high range of iospace, but > a serious problem with PnP ISA devices where iospace is tight and > shared with non PnP devices. > > Since we cannot trust the BIOS (because it does not have enough > info) the only way to do autoconfiguration reliably in FreeBSD is > the following: > > 1 probe & attach pci devices > 2 disable all pnp devices, so that they are not recognized by isa probes; > 3 probe & attach plain isa devices; > 4 configure PnP devices, using info derived from the isa configuration > process to determine which address ranges and irqs are busy; > 5 activate PnP devices; > 6 finally, probe and attach PnP devices. > > Any comments on the above ? Right now I am doing steps in the order 1, > 5, 6, 3 (2 and 4 are not necessary if the bios works), but it can > fail in some cases for the reasons stated above. > > Cheers > Luigi