kernel features MIB
Max Laier
max.laier at tm.uka.de
Fri Dec 28 09:30:13 PST 2007
Am Do, 27.12.2007, 23:04, schrieb John Baldwin:
> One of the things we have at work is a kern.features sysctl MIB that
> contains
> nodes to indicate if a named feature is present. For example, on i386 we
> have kern.features.pae and we auto enable -DPAE for kernel modules if the
> currently running kernel is using PAE using that sysctl.
>
> One of the patches I want to commit soon is support for handling
> shm_open/shm_unlink directly in the kernel via swap-backed VM objects (the
> long-heralded memfd stuff). I would like to have the sysctl MIB so that
> libc's for older releases (e.g. libc.so.6) could use the syscalls if they
> are
> available so that shm segments are shared between compat apps (e.g. 4.x or
> 6.x) and up-to-date apps.
>
> At work we don't have a pretty API for this at all, but I'm thinking for
> FreeBSD we can do this:
>
> FEATURE(foo, "description of foo")
>
> which is a macro to create the 'kern.features.foo' node and set it to 1.
> Then
> we could have a routine in libc:
>
> int feature_present(const char *name);
>
> That returns a boolean to indicate if a given feature is present or not by
> invoking sysctlbyname(3), etc.
>
> Any objections to the idea?
Sounds like a good idea indeed. What about modules, though? Would it
make sense to have something ident/strings parseable in the .kld to
identify features provided by that module? feature_present (or
_available) could search the default module paths and return which module
needs to be loaded. This could depend on FEATURE(kld, ...) and maybe
kern.securelevel.
--
/"\ Best regards, | mlaier at freebsd.org
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | mlaier at EFnet
/ \ ASCII Ribbon Campaign | Against HTML Mail and News
More information about the freebsd-arch
mailing list