Subject: LKM ...
To: None <tech-kern@netbsd.org>
From: Stefan Grefen <grefen@hprc.tandem.com>
List: tech-kern
Date: 09/15/1998 23:28:47
I've just send-pr changes to load symbols from lkms into ddb 
(unlike the old kern/791 it only downloads 'new' symbols), 
and enabled a form of inter-module linking.

A module can publish certain symbols to other modules which are
automaticly linked against them. (This is taken from an incore table).
Of course modules can only be unloaded if they are not referenced anymore.

If the kernel would publish (parts of) his own symbol table that way,
we could prevent the crash that happens when not /netbsd is booted 
and lkm.conf is not empty ...

Also I suggest we define set of interface, so that LKM binaries don't need
to be recompiled all the time.

This change is very raw at the moment (kind of snapshot) and only works
for aout (but modload is structured to allow other formats as well, the kernel
part doesn't care).
It is also backwards compatible (the old modload still works).

Things I want to change further  :
    specify which module (not) to link against
    create a loadable 'ddi' (Maybe I get a conforming SCO driver 
						    loaded one day ....)
    make the lkm-table dynamic
    move the linker/relocator into the kernel (or kernel thread/process)
    demand loading / unloading

The PR is kern/6164.

Input is always welcome ...

Stefan
--
Stefan Grefen                                Tandem Computers Europe Inc.
grefen@hprc.tandem.com                       High Performance Research Center
Committee, n.:
        A group of men who individually can do nothing but as a group
	decide that nothing can be done.
			-- Fred Allen