Date: Mon, 21 Jul 1997 23:01:13 +0200 From: Stefan Esser <se@FreeBSD.ORG> To: Michael Smith <msmith@atrad.adelaide.edu.au> Cc: Terry Lambert <terry@lambert.org>, Shimon@i-connect.net, freebsd-hackers@FreeBSD.ORG Subject: Re: pcireg.h lost children... ? Message-ID: <19970721230113.24412@mi.uni-koeln.de> In-Reply-To: <199707210113.KAA19725@genesis.atrad.adelaide.edu.au>; from Michael Smith on Mon, Jul 21, 1997 at 10:43:58AM %2B0930 References: <199707202320.QAA09987@phaeton.artisoft.com> <199707210113.KAA19725@genesis.atrad.adelaide.edu.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 21, Michael Smith <msmith@atrad.adelaide.edu.au> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970721230113.24412>