: As a special luxury, how about locating hardware probes in another
: segment (using compiler and linker directives) so they can be unloaded
: after use?
I tried it, and successfully. Unfortunately, it requires marking
all initialization procedures/variables with __attribute__(....)
and my patches are pretty difficult to support even without these marks.
If you saw them, you can imagine what I feel when Linus reformats
any part of source tree...
BTW, it appeared that initializing code is pretty small part of devices.
: d. does not require ksyms.c
: Does this mean that the run-time kernel image includes all of its
: symbols at run-time?
It does not!
I just generate aksyms.def from the currently installed modules
and from a default set (aksyms-std.def, it is empty now)
It is easy, because my modules contain all necessary information
about symbol relations and dependencies.
So that, initial module tree is consistent automatically.
If you made a standalone module that requires a symbol
currently not exported and does not want to recompile kernel,
you just load "bridge" module made from System.map or vmlinux.
Alexey Kuznetsov.