Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jul 2008 18:16:31 -0700
From:      "Peter Wemm" <peter@wemm.org>
To:        obrien@freebsd.org
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, "cvs-all@freebsd.org" <cvs-all@freebsd.org>
Subject:   Re: svn commit: r180431 - in head/sys: kern sys
Message-ID:  <e7db6d980807101816r5487979ag635dc21cc56bffce@mail.gmail.com>
In-Reply-To: <20080711005435.GB60061@dragon.NUXI.org>
References:  <200807101635.m6AGZv7I090311@svn.freebsd.org> <e7db6d980807101035x67390f4cx7ff762e286bc67ed@mail.gmail.com> <20080710233721.GA55073@dragon.NUXI.org> <e7db6d980807101658o6e1da3b6j188b8eb7afd81079@mail.gmail.com> <20080711005435.GB60061@dragon.NUXI.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 10, 2008 at 5:54 PM, David O'Brien <obrien@freebsd.org> 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



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