Commit Graph

24 Commits

Author SHA1 Message Date
ad 19463db480 Correct an error message. 2008-10-20 20:07:35 +00:00
ad ee66516bfd PR kern/38814 ksyms needs locking
- Make ksyms MT safe.
- Fix deadlock from an operation like "modload foo.lkm < /dev/ksyms".
- Fix uninitialized structure members.
- Reduce memory footprint for loaded modules.
- Export ksyms structures for kernel grovellers like savecore.
- Some KNF.
2008-10-20 10:24:18 +00:00
ad 1b31761afa kobj_read: plug a leak. 2008-10-06 10:46:58 +00:00
ad 61270d54f1 If autoloading a module, don't consider the current working directory. 2008-05-20 19:20:38 +00:00
martin bd3d112a87 fix !MODULAR compiles 2008-05-20 16:18:51 +00:00
ad 7a3561a8dc PR kern/38694 module dependencies do not work as expected
Autoload modules from the correct path based on kernel version.
2008-05-20 14:11:55 +00:00
ad d0bd9aa452 - Do local relocs before loading requisite modules, and all others only
after requisite modules have been loaded. For PR kern/38697.
- Simplify kobj interface slightly to make error handling easier.
2008-05-20 13:34:44 +00:00
jmcneill 3ea8229871 If we see a non-loadable BSS section in a pre-loaded module, make sure we
don't return success from kobj_load or nasty things will happen.
2008-05-19 17:33:42 +00:00
ad 517f9684fe Make it compile as part of librump. 2008-05-04 12:51:44 +00:00
ad 5982e60c2b Broken assertions. 2008-05-03 15:57:17 +00:00
ad 3f1b4f1759 Keep the program table and section strings around after loading the object,
since module_find_section() needs them.
2008-05-02 13:00:01 +00:00
ad 416e98a01e Another fix for pre-loaded modules. 2008-05-01 17:07:10 +00:00
ad 8ef40c772a Get the pre-loaded module code working. 2008-05-01 14:44:48 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
ad a9ca7a3734 Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
2008-03-21 21:54:58 +00:00
rumble 80993719d2 Before bailing on ENOENT, try one more time with an appended ".o". This
lets us load dependencies by module name and makes 'modload foo' work when
'foo.o' is the file.
2008-01-17 22:32:49 +00:00
ad 9dfa2c0234 Add a function to look up a section by name and return address/size, and
nuke return of object entrypoint from kobj_stat(). It's a lot easier to
denote the module entypoint using a linkset.
2008-01-12 23:34:48 +00:00
ad 574389c2a0 Fix build if !MODULAR. Reported by elad@. 2008-01-07 20:42:48 +00:00
ad b7dafc15be Don't both about module name / ksyms until the name is known for sure. 2008-01-07 18:25:56 +00:00
ad 0805a9416a Add MODULAR option. Include kernel linker stuff if MODULAR. 2008-01-06 18:03:58 +00:00
jmcneill bf49138bfc Fix off-by-one in kobj_read range checking for case KT_MEMORY 2008-01-06 15:13:07 +00:00
ad b9e6d93835 - Allow loading ELF objects from memory. Based on a patch from jmcneill.
- Allow for changing object name later, once known.
- Split open/load of the objects.
2008-01-06 14:47:26 +00:00
ad 4c5e4edd5c Add a kobj_stat() to get basic info about the object, and some other
minor changes.
2008-01-04 14:53:32 +00:00
ad 1dd75d2865 Add a simple in-kernel linker, derived from FreeBSD's link_elf_obj.c. Needs
more work but is enough to load simple LKMs. amd64 is untested.

Locking is caller provided. This is decoupled from the LKM framework because
kernel modules need not be loaded from the file system - they could be built
into the kernel and referenced via link set.
2008-01-04 12:26:20 +00:00