Subject: Re: Apollo keyboard, serial drivers (announce)
To: Chris G. Demetriou <cgd@cs.cmu.edu>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-hp300
Date: 04/16/1997 14:33:36
cgd spoke:

> > I think this has been mentioned before (and is a slight subject drift),
> > but what about the idea of "Identifying" lkm's to the system from rc,
> > and then letting root load them later.
> 
> So, I'm not particularly keen on this.
> 
> Once all ports move to ELF, I'd like to see a scheme in which a small
> ELF shared library loader is put into the kernel (#ifdef LKM, of
> course 8-).  That would allow it to do all the relocations, etc., and
> remove the need to trust the linker to do the right thing.

You describe some good things. But why should we wait for all the
ports to go to ELF for these things to happen? Why not make the
code be #ifdef ELVEN_LKM, and let it be a carrot to get ports to
switch towards ELF?

> This allows you to do all sorts of 'interesting' things, like:
> 
[list of cool things]
> 
> It also can solve problems about symbol loading, symbol finding, etc.
> 
> You can do things like the latter two points above if you're willing
> to do something like pre-link the modules against the kernel at
> rc-time, then 'sign' them as valid (or whatever), but that's really
> just a hack.
> 
> Given that the entirely LKM framework needs to be heavily reworked
> (better support for loading multiple types of things at once;
> reference counting all around, so that you know when it's safe to
> remove modules; 'real device' driver loading and attachment, etc.),
> the person doing it might as well do the architecturelly sound thing,
> rather than the quick hack.

Ok. I agree the LKM stuff could use some improvements. I'd like to be
able to load a network interface as an lkm (the only real changes from
what we have now would be adding lkm interfaces and giving interfaces
some sort of descriptive string so you knew which lkm interface was at
which lkm slot). I'd really like to load an lkm which added both a
character device AND an interface (hmm. Can mac68k folks guess what this
might be?).

I can't complain on this next Q as I can't help out, but what kind of
time line would the ELF fixings be on? Would a quick hack possably
serve as an incrimental improvement toward the re-work you described?

Take care,

Bill