From owner-freebsd-current Tue Sep 10 12:55:48 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA09493 for current-outgoing; Tue, 10 Sep 1996 12:55:48 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA09484 for ; Tue, 10 Sep 1996 12:55:43 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id MAA03341; Tue, 10 Sep 1996 12:48:14 -0700 From: Terry Lambert Message-Id: <199609101948.MAA03341@phaeton.artisoft.com> Subject: Re: Grrr. NFS to a Sun (Slowaris 5.5.1) To: dg@root.com Date: Tue, 10 Sep 1996 12:48:14 -0700 (MST) Cc: terry@lambert.org, jkh@time.cdrom.com, henrich@crh.cl.msu.edu, freebsd-current@freebsd.org In-Reply-To: <199609101825.LAA19216@root.com> from "David Greenman" at Sep 10, 96 11:25:22 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > >I suggest that the interfaces should be macrotized, the expected > >behaviour documented, and then any VM changes that take place must > >provide macrotized equivalents. > > > >We can then version the interfaces, as necessary, seperately from > >versioning the VM and other fast moving systems, and we can include > >"better" interfaces for a given VM when we are permitted to make > >cross-FS changes (presumably, this will one day be permitted after > >the Lite2 integration that NetBSD and OpenBSD completed shortly > >after the Lite2 release, more than a year ago). > > Cough, sputter... Yes, that would all be nice, but I'd be happy > if we'd just get some sort of versioning working for VFS LKMs. Support ELF and let John integrate his page-coloring, and we can rewrite the LKM system to be a consumer of a generic ELF loader mechanism, shared in common with the ELF execution class loader: ,----------------.,---------------------. | new LKM system || ELF execution class | `----------------'`---------------------' ,---------------------------------------. | ELF portable executable loader | `---------------------------------------' The original LKM system is a kludge for SunOS 4.1.3 user space tool compatability (I ought to know; I wrote the thing). It needs a rewrite, and ELF is the correct direction for that rewrite. Interface versioning can be supported as an entrypoint callback for registration of a descriptor structure. Incidently, this happens to be exactly what we would need to support to allow us to implement support for Windows NT/Windows 95 NDIS drivers in FreeBSD (they use the VXD PELDR interface -- "Portable Executable Loader"). Not suprisingly, you could also "statically" load these modules at boot time, as well as "dynamically" loading them as the result of a kernel space event. Voila, modular kernel. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.