From owner-freebsd-hackers Mon Jul 21 14:04:52 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id OAA11435 for hackers-outgoing; Mon, 21 Jul 1997 14:04:52 -0700 (PDT) Received: from Octopussy.MI.Uni-Koeln.DE (Octopussy.MI.Uni-Koeln.DE [134.95.166.20]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id OAA11429 for ; Mon, 21 Jul 1997 14:04:47 -0700 (PDT) Received: from x14.mi.uni-koeln.de (annexr2-44.slip.Uni-Koeln.DE) by Octopussy.MI.Uni-Koeln.DE with SMTP id AA02227 (5.67b/IDA-1.5 for ); Mon, 21 Jul 1997 23:01:19 +0200 Received: (from se@localhost) by x14.mi.uni-koeln.de (8.8.6/8.6.9) id XAA10884; Mon, 21 Jul 1997 23:01:14 +0200 (CEST) X-Face: " Date: Mon, 21 Jul 1997 23:01:13 +0200 From: Stefan Esser To: Michael Smith Cc: Terry Lambert , Shimon@i-connect.net, freebsd-hackers@FreeBSD.ORG Subject: Re: pcireg.h lost children... ? References: <199707202320.QAA09987@phaeton.artisoft.com> <199707210113.KAA19725@genesis.atrad.adelaide.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.74 In-Reply-To: <199707210113.KAA19725@genesis.atrad.adelaide.edu.au>; from Michael Smith on Mon, Jul 21, 1997 at 10:43:58AM +0930 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Jul 21, Michael Smith wrote: > Terry Lambert stands accused of saying: > > How does a PCI driver for, for instance, a DEC chip based ethernet > > board find boards for which a vendor/driver assignment has not yet > > been made? > > The same way it does now. Right! > You should read the probe code I think. To save your fingers the effort, > here it is : > > static char* > tulip_pci_probe( > pcici_t config_id, > pcidi_t device_id) > { > if (PCI_VENDORID(device_id) != DEC_VENDORID) > return NULL; > if (PCI_CHIPID(device_id) == CHIPID_21040) > return "Digital 21040 Ethernet"; > Now, if we remove this information from the driver and put it > somewhere in a Big Central Localtion, like, oh say W95 does (seeing as > you respect their design decisions), the central localtion can be > updated rapidly without having to rebuild and reinstall the driver. That's my goal, indeed :) > > One big problem I can see this causing (though I admit it cures > > one of my loudest complaints: destructive probing) is that the > > vendor/device/driver association list could quicly get too large > > to fit on the same floppy as the BSD kernel. 8-(. > > You split it into two parts; the ones needed to boot with, and a > second set for "frivolous" devices. 8) Well, and you forgot the third case: You can add the information in the user configuration step. If there is a device ID that is not (yet) in the kernel, you can ask for it, and will just have to supply an eight digit hex number and the driver name (typically three characters) to assign the device. In visual config you might even be able to just select one device with an unknown ID, and then choose the driver to assign from a menu of compiled in PCI drivers :) Regards, STefan