Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jun 2000 09:44:14 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        arch@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/pci pci.c pcisupport.c pcivar.h
Message-ID:  <Pine.BSF.4.05.10006130939440.2214-100000@semuta.feral.com>
In-Reply-To: <200006131635.JAA08394@usr05.primenet.com>

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.

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.10006130939440.2214-100000>