From owner-cvs-src@FreeBSD.ORG Fri Jul 11 01:16:33 2008 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF8B5106566B for ; Fri, 11 Jul 2008 01:16:33 +0000 (UTC) (envelope-from peter@wemm.org) Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.228]) by mx1.freebsd.org (Postfix) with ESMTP id 7F3048FC2A for ; Fri, 11 Jul 2008 01:16:33 +0000 (UTC) (envelope-from peter@wemm.org) Received: by qb-out-0506.google.com with SMTP id q12so535055qba.13 for ; Thu, 10 Jul 2008 18:16:32 -0700 (PDT) Received: by 10.142.132.2 with SMTP id f2mr2842463wfd.256.1215738991871; Thu, 10 Jul 2008 18:16:31 -0700 (PDT) Received: by 10.142.76.14 with HTTP; Thu, 10 Jul 2008 18:16:31 -0700 (PDT) Message-ID: Date: Thu, 10 Jul 2008 18:16:31 -0700 From: "Peter Wemm" To: obrien@freebsd.org In-Reply-To: <20080711005435.GB60061@dragon.NUXI.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200807101635.m6AGZv7I090311@svn.freebsd.org> <20080710233721.GA55073@dragon.NUXI.org> <20080711005435.GB60061@dragon.NUXI.org> Cc: cvs-src@freebsd.org, src-committers@freebsd.org, "cvs-all@freebsd.org" Subject: Re: svn commit: r180431 - in head/sys: kern sys X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jul 2008 01:16:33 -0000 On Thu, Jul 10, 2008 at 5:54 PM, David O'Brien wrote: > On Thu, Jul 10, 2008 at 04:58:05PM -0700, Peter Wemm wrote: >> There is a better way to do what you want though. You're using loader >> still, right? > > Correct - however loader.conf is ignored. > >> I have old code kicking around that allowed linking the >> kernel against a hal module properly. I did this to support linking >> the kernel against an apic / smp / apic / 8259 module and >> combinations. > > I'd be happy to try your code. :-) Heh. I just knew it! I knew I should have kept my mouth shut. :) What I had working was essentially moving the preload code from link_elf.c (relative to early freebsd-5 trees) into the loader. This allowed the kernel to have symbol references to preload modules. Run-time module became relatively simple. What I didn't finish was passing metadata through to the running kernel. That meant that the pre-boot link was both permanent (no unloads) and wasn't able to be referenced after boot. Other .ko files wouldn't see the preloaded one. This was a lack of completion issue, not so much a fundamental design requirement. However, even if re-adding the ability to unload a preloaded module was done, you couldn't unload something that the kernel itself depended on, naturally enough. I'll find the machine. Its got all sorts of other goodies on it that I've been meaning to liberate for years. (ps: this is a good example of why code should always be checked into a public repo instead of a private repo) -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV "All of this is for nothing if we don't go to the stars" - JMS/B5 "If Java had true garbage collection, most programs would delete themselves upon execution." -- Robert Sewell