From owner-freebsd-current Fri May 3 07:37:44 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA04585 for current-outgoing; Fri, 3 May 1996 07:37:44 -0700 (PDT) Received: from halloran-eldar.lcs.mit.edu (halloran-eldar.lcs.mit.edu [18.26.0.159]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id HAA04571 for ; Fri, 3 May 1996 07:37:39 -0700 (PDT) Received: by halloran-eldar.lcs.mit.edu; (5.65/1.1.8.2/19Aug95-0530PM) id AA11159; Fri, 3 May 1996 10:36:43 -0400 Date: Fri, 3 May 1996 10:36:43 -0400 From: Garrett Wollman Message-Id: <9605031436.AA11159@halloran-eldar.lcs.mit.edu> To: Bruce Evans Cc: freebsd-current@FreeBSD.org Subject: LKMs In-Reply-To: <199605022210.IAA00812@godzilla.zeta.org.au> References: <199605022210.IAA00812@godzilla.zeta.org.au> Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk < said: > This leads to my next topic :-). There shouldn't be any such files because > they don't work as lkm's. For lkm's there should be a single entry point > that registers all the necessary objects and functions: Which is easy enough to accomplish since you know what sorts of sets are constructed in the kernel and by what kinds of modules. You then link a module-class-specific initialization routine which knows how to initialize the appropriate sets. This is precisely what is does now with VFS LKMs, only it is done with preprocessor magic. Now that we have symbol-hiding, there is no reason why this could not be done without the preprocessor magic, which would bring us closer to Terry's sort of scenario where we can take an opaque object module and either link it into the kernel, or link with a little glue module to form an LKM. -GAWollman -- Garrett A. Wollman | Shashish is simple, it's discreet, it's brief. ... wollman@lcs.mit.edu | Shashish is the bonding of hearts in spite of distance. Opinions not those of| It is a bond more powerful than absence. We like people MIT, LCS, ANA, or NSA| who like Shashish. - Claude McKenzie + Florent Vollant