Archie Cobbs wrote: > Julian Elischer writes: > > On Fri, 22 Jan 1999, Archie Cobbs wrote: > > > Unrelated question: SYSINIT() doesn't work from KLD modules. > > > Is this problem being addressed? > > > > you mean sysctl > > Oops, thanks.. SYSCTL() doesn't work from KLD modules but SYSINIT() does. > > -Archie
Yes, this is well known. :-( The only way it's going to work is by a major rebuild of the underlying linker set based initialization mechanism. linker sets cannot be updated at module load/unload time. The present mechanism has the nice advantage that the directory tree part of the name is kept in the symbol space and only the terminal node name is an ascii string in the kernel data space. I can't think of an easy way of rebuilding sysctl without loosing that feature. About the best I can think of is some sort of gensetdefs-like tool to scan the binaries of the modules to create a descriptor for any internal sysctl tables - at minimum it needs to know where in the heirarchy it needs to be attached. kern_linker.c can then look for it and attach it to the sysctl tree, once sysctl gets updated to allow dynamic extensions like that. Cheers, -Peter -- Peter Wemm <pe...@netplex.com.au> Netplex Consulting "No coffee, No workee!" :-) To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message