From owner-freebsd-arch Tue Jun 13 9:35:58 2000 Delivered-To: freebsd-arch@freebsd.org Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (Postfix) with ESMTP id C710B37B672 for ; Tue, 13 Jun 2000 09:35:53 -0700 (PDT) (envelope-from tlambert@usr05.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.9.3/8.9.3) id JAA07452; Tue, 13 Jun 2000 09:35:34 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp03.primenet.com, id smtpdAAAyXayHo; Tue Jun 13 09:35:27 2000 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id JAA08394; Tue, 13 Jun 2000 09:35:43 -0700 (MST) From: Terry Lambert Message-Id: <200006131635.JAA08394@usr05.primenet.com> Subject: Re: cvs commit: src/sys/pci pci.c pcisupport.c pcivar.h To: mjacob@feral.com Date: Tue, 13 Jun 2000 16:35:43 +0000 (GMT) Cc: arch@FreeBSD.ORG In-Reply-To: from "Matthew Jacob" at Jun 13, 2000 09:05:04 AM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > We discussed this very extensively during SparcStation-1 development. In fact > early SunOS 4.0.3c prior to release had just something like this (the code > stayed around for years protected by "DAVE_DOESNT_WANT_THIS_ANY_MORE"). > > The consensus eventually was that this was pointless because the ultimate goal > is to have all possible available drivers sit somewhere and just be loaded if > the h/w was present. > > Once you get even close to the goal of all self-identifying devices (which is > pretty darn close now), what's the added advantage of a message that most > users won't grok and will generate a support call about (I'm talking > commercial space here)? Exactly. The PCI issue is unique, in that PCI devices can be identified by a generic routine. For this to be general, we would need the concept of discaradable vs. non-discardable pages. ELF format actually handles this rather well, and Microsoft uses it to advantage in their portable executable format. In fact, they have the following useful flags, expected to be applied to discrete ELF sections: nonswappable is the code in the swap path? initialization this code only used on module load, and its pages can be recovered afterward relocatable with appropriate locking, you can move this code around to defragment kernel memory, since it is accessed by handle etc. The same for data sections, of course. Looking at the PE documentation on the microsoft.com site would not be a bad idea for people hacking this code; in particular, you can learn from them, even if you consider them your enemy. 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