From owner-freebsd-hackers Wed Mar 11 07:22:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA22965 for freebsd-hackers-outgoing; Wed, 11 Mar 1998 07:22:41 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA22955 for ; Wed, 11 Mar 1998 07:22:33 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [194.198.43.36]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id PAA18727; Wed, 11 Mar 1998 15:22:29 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.6/8.8.6) id QAA17731; Wed, 11 Mar 1998 16:22:28 +0100 (MET) Message-ID: <19980311162228.43166@follo.net> Date: Wed, 11 Mar 1998 16:22:28 +0100 From: Eivind Eklund To: "Justin T. Gibbs" Cc: hackers@FreeBSD.ORG Subject: Re: userconfig data -> linker set -> ELF segment References: <199803111011.CAA22528@dingo.cdrom.com> <199803111444.HAA10346@narnia.plutotech.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: <199803111444.HAA10346@narnia.plutotech.com>; from Justin T. Gibbs on Wed, Mar 11, 1998 at 07:44:27AM -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, Mar 11, 1998 at 07:44:27AM -0700, Justin T. Gibbs wrote: > In article <199803111011.CAA22528@dingo.cdrom.com> you wrote: > >> > I was basically planning to look at distributing the userconfig device > >> > list as a linker set, to allow externally developed drivers to be > >> > added without having to edit a static list. I know how to do this > >> > now, but how easy is it to put it in a non-loaded segment later? > >> > >> This is hard. > >> > >> The problem is that you need to be able to agregate linker sets > >> at run time, not at link time. > > > > You're making things too difficult. 8) > > Exactly. Don't use a linker set at all. Convert all drivers to > LKMs, load they "probe" section of all LKMs, have an entry point > in the probe section register the driver with userconfig. This is not feasible at present. There are several reasons: * The PCI LKM code in -current doesn't work * Loading 'just the probe code' isn't possible using a.out (AFAIK) * Depending on device drivers being LKMs lowers reliability (N files that can fail, instead of just having a single kernel) * The probe is too late - userconfig (presently, at least) run before anything is probed - to be able to stop harmful probes etc. * It is more work than I can chew, and thus won't be done as part of the minor set of changes I wanted to do. I was only planning to make userconfig data a linker set, and change config to (also) scan sys/conf/*/files.extra and sys/conf/*/options.extra, as an enabling technology for externally developed kernel parts. > Linker sets are a pain. Why more so than LKMs? As far as I can tell, LKMs are presently more of a pain than linker sets (though LKMs is also a more powerful enabling technology). Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message