Date: Thu, 15 Jun 2000 22:00:42 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: msmith@FreeBSD.ORG (Mike Smith) Cc: tlambert@primenet.com (Terry Lambert), arch@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci pci.c pcisupport.c pcivar.h Message-ID: <200006152200.PAA12388@usr08.primenet.com> In-Reply-To: <200006131734.KAA22492@mass.cdrom.com> from "Mike Smith" at Jun 13, 2000 10:34:28 AM
next in thread | previous in thread | raw e-mail | index | archive | help
> > The PCI issue is unique, in that PCI devices can be identified by > > a generic routine. > > This is nonsense, and it basically removes the justification for > everything else that you've said here. 8) > > The real situation is, in fact, just the opposite; there are *very* few > devices for which it is not possible to obtain, in a generic fashion, a > uniquifying token. PCI cards have a card identification register which is per slot relative, and which can be read by a generic routine. EISA and MCA have similar capabilities. ISA cards, you have to go grovelling in a per card way with a passive probe for most cards; but the routine used to do this is _not_ the same for all IS cards, and can not, therefore, be written once per bus, but instead must be written once per card. Some ISA devices require active probing, and can not be identified passively under any circumstances (AMD LANCE ethernet is one such device). I think it's OK to statically compile in a generic PCI probe that then does I/O against a file to identify the driver to load (the ID as the left hand side, the driver module information as the right hand side, in a data table). I _don't_ think it's OK to statically link in all ISA devices, or even to load the full driver for each device before deciding to discard it because the probe failed to find a device. I think instead that the driver module should be divided into a probe section, an attach section, and a driver section; the lattermost can be loaded and discarded with much less potential for kernel memory fragmentation. The latter two can be discarded onces the driver is active. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006152200.PAA12388>