From owner-freebsd-current@FreeBSD.ORG Thu Aug 14 14:48:33 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C87E937B401; Thu, 14 Aug 2003 14:48:33 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id E36CD43FBF; Thu, 14 Aug 2003 14:48:32 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.9/8.12.9) with ESMTP id h7ELmNnq003730 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 14 Aug 2003 17:48:23 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id h7ELmI902405; Thu, 14 Aug 2003 17:48:18 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16188.930.760543.577378@grasshopper.cs.duke.edu> Date: Thu, 14 Aug 2003 17:48:18 -0400 (EDT) To: John Baldwin In-Reply-To: References: <16187.44785.91962.402945@grasshopper.cs.duke.edu> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid cc: Ruslan Ermilov cc: Luoqi Chen cc: current@FreeBSD.org Subject: RE: Change to kernel+modules build approach X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Aug 2003 21:48:34 -0000 John Baldwin writes: > > On 14-Aug-2003 Andrew Gallatin wrote: > > > > John Baldwin writes: > > > > > > On 14-Aug-2003 Ruslan Ermilov wrote: > > > > On Thu, Aug 14, 2003 at 02:10:19AM -0600, Scott Long wrote: > > > >> Luoqi Chen wrote: > > > > [...] > > > >> >On the other hand, all modules should create all the opt_*.h files > > > >> >it needs when built individually. Add opt_ddb.h to nullfs's Makefile > > > >> >should fix the breakage. > > > >> > > > > >> Our kernel build system isn't set up to handle passing config options > > > >> to modules. Various solutions to this have been proposed, but nothing > > > >> has appeared yet. In 5.x, we document that modules will not work with > > > >> PAE. > > > >> > > > > How does the below look? This is basically a more generic implementation > > > > of Luoqi's idea, but for -CURRENT: > > > > > > I would prefer something far more radical that would involve moving > > > all the module metadata to sys/conf (i.e. removing sys/modules) and > > > building all the modules based on a single kernel config file. > > > > Would this tie modules to that kernel config? If so, would it mean > > the end of the ability of 3rd party developers to ship binary drivers > > and expect them to work with any kernel? > > Well, yes, but, one could always build generic modules by using > a kernel config containing 'options KLD_MODULE' or some such. > This would allow one to compile optimized modules if they wanted to, > but still provide the ability to build fully generic modules. My concern is that if we do such a thing, we'll gradually gain more options which break modules. Right now, the list includes MUTEX_PROFILING and PAE. I'm afraid it can only grow if modules are further coupled with the kernel build. Drew