From owner-freebsd-arch Tue Jun 13 9:44:30 2000 Delivered-To: freebsd-arch@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id 7CA3037BF4F for ; Tue, 13 Jun 2000 09:44:25 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from semuta.feral.com (semuta [192.67.166.70]) by feral.com (8.9.3/8.9.3) with ESMTP id JAA03609; Tue, 13 Jun 2000 09:44:19 -0700 Date: Tue, 13 Jun 2000 09:44:14 -0700 (PDT) From: Matthew Jacob Reply-To: mjacob@feral.com To: Terry Lambert Cc: arch@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci pci.c pcisupport.c pcivar.h In-Reply-To: <200006131635.JAA08394@usr05.primenet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > The PCI issue is unique, in that PCI devices can be identified by > a generic routine. Most devices are self-identifying. It isn't just PCI. It's TurboChannel, SBus, and so on. What with PnP it's now getting to be the case that non-self-id'ing devices are the exception. > 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. Yes. Further, you can, as I do in Solaris, use weak binding to determine the presence or absence of a (sub)driver as well. > 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. Hmph. Betcha it's one of the ex-DEC guys at Microsoft who worked on this. The stuff you describe above is pretty much the same as the .PSECT stuff for DEC PDP-11 executables (who on this list can still remember how to write .ODL files, too?). "Inside every large, fat, and dumb company is a small lean and agile company screaming to get out". -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message