From owner-freebsd-current Sat Jan 23 01:31:57 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA06159 for freebsd-current-outgoing; Sat, 23 Jan 1999 01:31:57 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA06154 for ; Sat, 23 Jan 1999 01:31:53 -0800 (PST) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.9.2/8.9.2/Netplex) with ESMTP id RAA00520; Sat, 23 Jan 1999 17:31:33 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199901230931.RAA00520@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: Archie Cobbs cc: julian@whistle.com (Julian Elischer), current@FreeBSD.ORG Subject: Re: kvm question In-reply-to: Your message of "Sat, 23 Jan 1999 01:12:11 PST." <199901230912.BAA15056@bubba.whistle.com> Date: Sat, 23 Jan 1999 17:31:33 +0800 From: Peter Wemm Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 Netplex Consulting "No coffee, No workee!" :-) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message