Home | History | Annotate | only in /src/sbin/modload
History log of /src/sbin/modload
RevisionDateAuthorComments
 1.17 11-Aug-2013  dholland WARNS=5 is the default in sbin, don't need to set it explicitly.
 1.16 22-Aug-2012  jnemeth branches: 1.16.2;
Set WARNS=5. No warnings/errors were found with a test compile.
 1.15 13-Dec-2010  pooka branches: 1.15.6;
Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.
 1.14 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.13 02-Mar-2008  jmmv Add the ability to specify load-time properties for modules. This adds
three new flags to the new modload utility: -b, -i and -s, which are used
to pass boolean, integer and string parameters respectively.
 1.12 10-Feb-2008  jmmv branches: 1.12.2; 1.12.4;
Always test MKMODULAR with != "no". Requested by mrg@.
 1.11 09-Feb-2008  jmmv Reverse MKMODULAR checks.
 1.10 09-Feb-2008  jmmv Recognize MKMODULAR and build the appropriate tool.
 1.9 16-Jan-2008  ad Pull in my modules code for review/test/hacking.
 1.8 27-Jun-2005  christos branches: 1.8.10; 1.8.12;
Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
 1.7 13-Jun-1999  mrg add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.6 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.5 22-Dec-1994  cgd specify man pages the new way.
 1.4 09-Feb-1994  deraadt do not -DKERNEL please
 1.3 09-Aug-1993  mycroft Don't reset CFLAGS.
 1.2 08-Jun-1993  cgd add LKM man pages
 1.1 07-Jun-1993  cgd add support for terry lambert's loadable kernel modules.
needs a bit of cleanup, but overall: SLICK!
 1.8.12.1 18-Feb-2008  mjf Sync with HEAD.
 1.8.10.1 23-Mar-2008  matt sync with HEAD
 1.12.4.2 17-Jan-2009  mjf Sync with HEAD.
 1.12.4.1 03-Apr-2008  mjf Sync with HEAD.
 1.12.2.1 24-Mar-2008  keiichi sync with head.
 1.15.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.15.6.1 30-Oct-2012  yamt sync with head
 1.16.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.6 06-Feb-2005  perry branches: 1.6.26;
remove obsolete "register" declarations.
 1.5 11-Feb-2004  jdolecek it's not correct to use MAXPATHNAME-sized buffer for link command, as
pointed out by Klaus Klein (original idea was that it should hold at least
the pathname ...); instead, let the ELF and a.out backends allocate memory
for the link command, and get rid of the fixed size buffer altogether
 1.4 10-Oct-2002  simonb Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.3 07-Oct-2002  simonb Use "type *" instead of "type*".
 1.2 06-Oct-2002  simonb ANSIfy, KNF, declare externs in headers only.
 1.1 13-Jun-1999  mrg add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.6.26.1 17-Jan-2009  mjf Sync with HEAD.
 1.20 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.19 08-Jul-2006  ross branches: 1.19.20;
Replace complicated test for ELFSIZE 64 with #ifdef _LP64 which is
the netbsd convention. Rig the old test temporarily to a #error
sanity check.
 1.18 17-Mar-2006  rumble Check for allocation failures in malloc, calloc, realloc, asprintf, and
vasprintf and try to handle them.
 1.17 27-Jun-2005  christos Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
 1.16 11-Feb-2004  jdolecek it's not correct to use MAXPATHNAME-sized buffer for link command, as
pointed out by Klaus Klein (original idea was that it should hold at least
the pathname ...); instead, let the ELF and a.out backends allocate memory
for the link command, and get rid of the fixed size buffer altogether
 1.15 21-Oct-2003  fvdl Don't compare an integer to NULL.
 1.14 07-Nov-2002  thorpej Skip empty sections. From Allen Briggs.
 1.13 10-Oct-2002  simonb Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.12 07-Oct-2002  simonb Use "type *" instead of "type*".
 1.11 06-Oct-2002  simonb ANSIfy, KNF, declare externs in headers only.
 1.10 24-Jul-2002  joda various spelling
 1.9 03-Apr-2002  jdolecek Only provide sym_size and sym_symsize if symbols are actually going
to be loaded.
This also avoids the annoying 'Unable to find symbol table slot
for xxx' kernel message when module is unloaded.
 1.8 03-Jan-2002  jdolecek make sure string_table is initialized to NULL in read_shstring_table(),
so that NULL is returned if .strtab is not found
 1.7 08-Nov-2001  christos PR/14498: Wesley Chen: Support symbol loading on elf lkms.
 1.6 19-Jun-2001  fvdl Use ELFSIZE 64 for x86-64.
 1.5 26-Mar-2001  drochner Do the last fix correctly: round the beginning of the .data segment,
otherwise an unaligned address gets passed to the linker. (which is
rounded there, so this is harmless)
XXX how about passing "-N" and killing all these hacks?
 1.4 27-Dec-2000  jdolecek make sure that elf_mod_sizes() uses data_hole size aligned to section alignment
this fixes a problem where elf_mod_sizes() would report size which would
be different (smaller) that the actual size of LKM code to be loaded in some
cases

Reviewed by: Johan Danielsson
 1.3 25-Oct-1999  kleink branches: 1.3.6;
Update to match new SVR4-style definition names in <sys/exec_elf.h>.
 1.2 21-Jul-1999  mycroft branches: 1.2.2;
Don't try to play games with the BSS; just make it work.
 1.1 13-Jun-1999  mrg add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.2.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.6.1 25-Jan-2001  jhawk Pull up revision 1.4 (requested by jdolecek):
Ensure that data_hole is aligned to a section, otherwise
elf_mod_sizes() may report a size too small, affecting LKM loading.
 1.19.20.1 17-Jan-2009  mjf Sync with HEAD.
 1.18 07-Jun-2020  thorpej Update for proplib(3) API changes.
 1.17 05-Sep-2016  sevan Drop main() prototype.
 1.16 06-May-2016  khorben More friendly error messages for modload(8) and modunload(8)

Tested on NetBSD/amd64.

From Christian Koch (cfkoch@) of EdgeBSD; thanks!
 1.15 07-Feb-2013  apb Don't pass NULL to prop_dictionary_set.
Coverity CID 275196.
 1.14 13-Dec-2010  pooka branches: 1.14.6; 1.14.12;
Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.
 1.13 11-Jun-2009  wiz Sync usage with man page.
 1.12 10-Jun-2009  jnemeth -p -P doesn't make much sense since no module will be loaded.
 1.11 09-Jun-2009  jnemeth Add the MODCTL_NO_PROP flag to tell the kernel to ignore <module>.prop.

Add the '-P' option to modload(8) to set this flag.
 1.10 05-Jun-2009  jnemeth Add a new [-d var] option which when combined with -p and -m will allow
you to delete vars from the existing <module>.prop file.
 1.9 05-Jun-2009  wiz Sort options.
 1.8 04-Jun-2009  jnemeth Add a "-m plist" option. This option will read in an existing
<module>.prop file and merge any options supplied on the "command
line".

This code will serve as the basis for in-kernel merging.
 1.7 19-May-2009  jnemeth fputs() instead of puts() so we don't get the silly extra blank line
 1.6 19-May-2009  wiz Sync usage and man page.
 1.5 19-May-2009  jnemeth Add -p option which outputs a property list suitable for loading with a
module. This is in preparation for having the kernel load an optional
<module>.prop alongside a module, which is useful for passing options
to autoloaded modules and modules loaded at boot time.
 1.4 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 02-Mar-2008  jmmv branches: 1.2.2; 1.2.4;
Add the ability to specify load-time properties for modules. This adds
three new flags to the new modload utility: -b, -i and -s, which are used
to pass boolean, integer and string parameters respectively.
 1.1 16-Jan-2008  ad branches: 1.1.2; 1.1.4; 1.1.6;
Pull in my modules code for review/test/hacking.
 1.1.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.1.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.1.4.1 24-Mar-2008  keiichi sync with head.
 1.1.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.2.1 16-Jan-2008  mjf file main.c was added on branch mjf-devfs on 2008-02-18 21:04:17 +0000
 1.2.4.1 18-May-2008  yamt sync with head.
 1.2.2.2 23-Mar-2008  matt sync with HEAD
 1.2.2.1 02-Mar-2008  matt file main.c was added on branch matt-armv6 on 2008-03-23 00:44:24 +0000
 1.14.12.1 25-Feb-2013  tls resync with head
 1.14.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.49 17-Jan-2021  mrg call it "kernel object linker module framework" not just
"module framework". the latter is generic enough to
also mean the old ld(1) linked loadable kernel modules.
 1.48 01-Jun-2020  uwe Make -f description actually use the word "force" so that it can be
found when searched for.
 1.47 18-Jul-2017  wiz Fix Dt argument.
 1.46 18-Jul-2017  christos PR/52417: Edgar Pettijohn: modules.conf(5) not mentioned in related manuals
 1.45 12-Sep-2016  wiz Add .An -nosplit.
 1.44 12-Sep-2016  sevan Document the version modload appeared and authors.
Correct spelling mistakes.
Bump date.
 1.43 28-Nov-2015  pgoyette Add cross-refs from modload(8) amd modunload(8) to modctl(2)
 1.42 06-Aug-2011  wiz Quote path separator character.
 1.41 06-Aug-2011  mbalmer Do not not look for modules in the current working directory first. This is
to prevent from accidentally loading ./module.kmod when we actually wanted to
load module from the system module area.

To load a module from a filesystem path, the module name must contain at
least on path separator character (/), to load a module from the system
module areas, the name must not contain a path separator character:

modload ./mymod.kmod # loads mymod.kmod from the curren directory
modload mymod # loads mymod.kmod from the system module area
 1.40 14-Dec-2010  jruoho Fix xref; module(4) -> module(7).
 1.39 13-Dec-2010  jruoho Xref module(4).
 1.38 05-Mar-2010  pooka note module changes
 1.37 11-Jun-2009  wiz Remove -P from -p section, not from -f one.
 1.36 10-Jun-2009  jnemeth -p -P doesn't make much sense since no module will be loaded.
 1.35 09-Jun-2009  jnemeth Add the MODCTL_NO_PROP flag to tell the kernel to ignore <module>.prop.

Add the '-P' option to modload(8) to set this flag.
 1.34 05-Jun-2009  jnemeth Add a new [-d var] option which when combined with -p and -m will allow
you to delete vars from the existing <module>.prop file.
 1.33 05-Jun-2009  wiz Sort options.
 1.32 04-Jun-2009  jnemeth Add a "-m plist" option. This option will read in an existing
<module>.prop file and merge any options supplied on the "command
line".

This code will serve as the basis for in-kernel merging.
 1.31 19-May-2009  wiz Sync usage and man page.
 1.30 19-May-2009  wiz Sort option descriptions. Split usage in SYNOPSIS in two, since there
are two different methods of calling it.
Add arguments to option descriptions.
 1.29 19-May-2009  jnemeth Add -p option which outputs a property list suitable for loading with a
module. This is in preparation for having the kernel load an optional
<module>.prop alongside a module, which is useful for passing options
to autoloaded modules and modules loaded at boot time.
 1.28 17-Nov-2008  uwe Punctuation formatting nit.
 1.27 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.26 24-Mar-2006  reed branches: 1.26.20;
In the DIAGNOSTICS section, document that mismatched LKM and kernel
versions will be reported to the console and to the system message
buffer.

And update documentation date.
 1.25 06-Sep-2003  wiz New sentence, new line; improve grammar.
 1.24 06-Sep-2003  jdolecek implement support for forced LKM load, which makes the kernel skip
the version checks, using new -f flag and LMFORCE ioctl

Hopefully the description in the manpage is discouraging enough so that
nobody would dare even _think_ of using forced loads. A warning
message is written to stderr when this is used, just in case.
 1.23 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.22 14-Feb-2003  grant 'NetBSD.org' and some mdoc fixes.
 1.21 10-Oct-2002  simonb Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.20 01-Oct-2002  wiz New sentence, new line. By Robert Elz with minimal fixes.
 1.19 13-Sep-2002  gehenna For loadable drivers, the 3rd argument is character device major and
the 4th argument is block device major.

Remove one item from BUGS section.
 1.18 08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.17 16-Nov-2001  wiz Improve author markup, use standard header.
 1.16 16-Nov-2001  wiz Whitespace nits
 1.15 05-Jun-2001  wiz Drop arguments of .Os.
 1.14 14-Jun-2000  cgd sweep of my licenses (userland files w/o only my copyright) for
consistency. (no functional changes)
 1.13 14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.12 13-Jun-1999  mrg branches: 1.12.6;
add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.11 30-Apr-1999  ross Invert the meaning of -s, from "don't load symbols" to "load symbols".
Document that this is expensive (and why) in the BUGS section.
 1.10 10-Mar-1999  erh branches: 1.10.2;
Add missing .El line.
 1.9 07-Mar-1999  mycroft Clean up SYNOPSIS formatting.
 1.8 13-Jan-1999  sommerfe Allow modload to load symbols for use by DDB.
 1.7 15-Sep-1997  darrenr if xxxinit is not found in the module, look for <modname>_lkmentry as an
alternate entry point (used in provided modules). Mention this on man page
too.
 1.6 15-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* use .Nm correctly
 1.5 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.4 18-Sep-1994  mycroft Bug fixes from John Kohl:
modload didn't honor its -p argument.
It also would destroy the input file when you didn't specify an output
symbol file with -o.
 1.3 29-Jan-1994  jtc branches: 1.3.2;
Fix spelling error in Copyright notice
 1.2 14-Jan-1994  jtc Fix spelling errors
 1.1 08-Jun-1993  cgd add LKM man pages
 1.3.2.1 29-Sep-1994  cgd from trunk.
 1.10.2.1 30-Apr-1999  perry pullup 1.10->1.11 (ross)
 1.12.6.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.26.20.1 17-Jan-2009  mjf Sync with HEAD.
 1.52 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.51 27-Jun-2005  christos branches: 1.51.20; 1.51.28;
Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
 1.50 25-Apr-2005  matt Terminate variable argument list with NULL, not 0.
 1.49 27-Oct-2004  peter Fix a typo in a comment.
 1.48 07-Sep-2004  jrf Replaced strncpy with strlcpy. Thanks to Peter Postma who
pointed them our in PR #25762. Approved by christos@NetBSD.org.
 1.47 28-Jun-2004  nathanw Remove an extraneous comment before main() that seems to have been
accidentally cut-and-pasted in with rev 1.30.
 1.46 08-Jun-2004  cjep Put -T in usage output. PR#25875 from Kouichirou Hiratsuka.
 1.45 19-Mar-2004  wiz Remove superfluous TRUE and FALSE definitions.
Noted by Jeff Ito in PR 24845.
 1.44 12-Feb-2004  kleink Update the change from rev. 1.42 to reflect that MAXPATH includes room
for the terminating NUL character.
 1.43 11-Feb-2004  jdolecek it's not correct to use MAXPATHNAME-sized buffer for link command, as
pointed out by Klaus Klein (original idea was that it should hold at least
the pathname ...); instead, let the ELF and a.out backends allocate memory
for the link command, and get rid of the fixed size buffer altogether
 1.42 10-Feb-2004  jdolecek use MAXPATHLEN-sized buffer for module paths
reported and fix provided in bin/24379 by Nicolas Joly
 1.41 06-Sep-2003  jdolecek implement support for forced LKM load, which makes the kernel skip
the version checks, using new -f flag and LMFORCE ioctl

Hopefully the description in the manpage is discouraging enough so that
nobody would dare even _think_ of using forced loads. A warning
message is written to stderr when this is used, just in case.
 1.40 13-Jul-2003  itojun remove obsolete comment
 1.39 12-Jul-2003  itojun asprintf() is easier than malloc + sprintf
 1.38 24-Apr-2003  ragge Try first to use /dev/ksyms to get kernel symbols, if that fails mutter a
bit and fallback to the old way.
 1.37 11-Apr-2003  jdolecek desupport LMRESERV_O, anything relying on it doesn't have chance of working
anyway due to numerous kernel structure changes
 1.36 09-Feb-2003  atatat If no other name is specified, and machdep.booted_kernel is present
and names a file, use that as a the default kernel, otherwise fall
back to /netbsd.

Makes lkms work *much* better when you're testing kernels that are not
named /netbsd.
 1.35 10-Oct-2002  simonb Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.34 07-Oct-2002  simonb Use "type *" instead of "type*".
 1.33 06-Oct-2002  simonb ANSIfy, KNF, declare externs in headers only.
 1.32 18-Sep-2002  lha uppercase the lkm kernel-userspace dev macros and prefix them with LKM_
make modload print the bdev and cdev major when its a dev lkm
 1.31 13-Sep-2002  gehenna Split the overload block/character device major.
The 3rd argument is character device major and
the 4th argument is block device major.
 1.30 08-Nov-2001  christos PR/14498: Wesley Chen: Support symbol loading on elf lkms.
 1.29 29-Sep-2001  jdolecek couple cosmetic stylistic changes
 1.28 17-Sep-2001  assar (usage): add -s and -S
 1.27 16-Mar-2000  jdolecek correct getopt() optstring: -A gets a parameter!
 1.26 27-Feb-2000  deberg -S isn't supposed to take an argument
 1.25 13-Jun-1999  mrg add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.24 30-Apr-1999  ross Invert the meaning of -s, from "don't load symbols" to "load symbols".
Document that this is expensive (and why) in the BUGS section.
 1.23 23-Apr-1999  abs Fix entry point parsing if output file specified to modload (PR7352)
 1.22 13-Jan-1999  sommerfe branches: 1.22.2;
Allow modload to load symbols for use by DDB.
 1.21 28-Jul-1998  mycroft __AUDIT__ cleanup.
 1.20 26-Jul-1998  mycroft const poisoning.
 1.19 01-Dec-1997  mjacob Mods for alpha: doesn't work yet, but this is as good a placeholder as
any to note the ld flags to actually use. Still to do: elf loading.
 1.18 16-Sep-1997  mrg make these compile on the alpha after WARNS=1.
 1.17 15-Sep-1997  lukem use memset() not bcopy()
 1.16 15-Sep-1997  darrenr if xxxinit is not found in the module, look for <modname>_lkmentry as an
alternate entry point (used in provided modules). Mention this on man page
too.
 1.15 15-Sep-1997  lukem * cleanup for WARNS=1
* getopt returns -1 not EOF
* use .Nm correctly
 1.14 17-Jan-1996  jtc Check for .o extension after the *last* . in a file name.
Reported by Micheal Graff in PR #1868.
 1.13 28-May-1995  jtc <sys/errno.h> -> <errno.h>
 1.12 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.11 18-Dec-1994  cgd -Wall cleanups from Jim Jegers
 1.10 18-Sep-1994  mycroft Bug fixes from John Kohl:
modload didn't honor its -p argument.
It also would destroy the input file when you didn't specify an output
symbol file with -o.
 1.9 23-May-1994  cgd branches: 1.9.2;
kill (bogus) multiple inclusions
 1.8 05-May-1994  cgd kill stupidity
 1.7 31-Mar-1994  mycroft Stylistic cleanup; use err*() and atexit().
 1.6 31-Mar-1994  ws Support BSS in LKMs
 1.5 10-Feb-1994  cgd while documentation is nice, including SunOS man pages in your source isn't!
 1.4 03-Dec-1993  deraadt i love ansi
 1.3 23-Nov-1993  cgd update for present reality
 1.2 07-Jun-1993  cgd open device for read/write, so we can actually load
devices w/new checks in kern_lkm.c
 1.1 07-Jun-1993  cgd add support for terry lambert's loadable kernel modules.
needs a bit of cleanup, but overall: SLICK!
 1.9.2.1 29-Sep-1994  cgd from trunk.
 1.22.2.2 30-Apr-1999  perry pullup 1.23->1.24 (ross)
 1.22.2.1 23-Apr-1999  perry pullup 1.22->1.23 (abs)
 1.51.28.1 20-Apr-2009  snj Apply patch (requested by ad in ticket #708):
Disable ksyms support, falling back to using sysctl to obtain the name
of the booted kernel.
 1.51.20.1 17-Jan-2009  mjf Sync with HEAD.
 1.7 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.6 11-Feb-2004  jdolecek branches: 1.6.32;
it's not correct to use MAXPATHNAME-sized buffer for link command, as
pointed out by Klaus Klein (original idea was that it should hold at least
the pathname ...); instead, let the ELF and a.out backends allocate memory
for the link command, and get rid of the fixed size buffer altogether
 1.5 10-Oct-2002  simonb Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.4 07-Oct-2002  simonb Use "type *" instead of "type*".
 1.3 06-Oct-2002  simonb ANSIfy, KNF, declare externs in headers only.
 1.2 08-Nov-2001  christos PR/14498: Wesley Chen: Support symbol loading on elf lkms.
 1.1 13-Jun-1999  mrg add ELF support, mostly from joda@pdc.kth.se (Johan Danielsson) in PR#6149,
updated for the symtab support for a.out (non for ELF yet) and other cleanup
by myself. should work on the alpha as well as other ELF ports...
remove the ld(1) output by default, rather than leaving little binary turds
across the filesystem...
 1.6.32.1 17-Jan-2009  mjf Sync with HEAD.
 1.1 13-Dec-2010  pooka Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.
 1.1 13-Dec-2010  pooka Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.
 1.4 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.3 10-Oct-2002  simonb branches: 1.3.32;
Add support for using an optional linker script (/usr/lkm/ldscript if
found, and overridable by the -T option).
 1.2 18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.1 01-Apr-1994  mycroft Forgot to check this in.
 1.3.32.1 17-Jan-2009  mjf Sync with HEAD.
 1.2 13-Dec-2010  pooka use crunchops for crunchables
 1.1 13-Dec-2010  pooka Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.

RSS XML Feed