From owner-cvs-src@FreeBSD.ORG Wed Dec 3 13:24:56 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB49916A4CE for ; Wed, 3 Dec 2003 13:24:56 -0800 (PST) Received: from mail6.speakeasy.net (mail6.speakeasy.net [216.254.0.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22B8043FB1 for ; Wed, 3 Dec 2003 13:24:50 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 7238 invoked from network); 3 Dec 2003 21:24:48 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 3 Dec 2003 21:24:48 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hB3LOjFn010713; Wed, 3 Dec 2003 16:24:45 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200312032112.hB3LC9GT079834@repoman.freebsd.org> Date: Wed, 03 Dec 2003 16:24:46 -0500 (EST) From: John Baldwin To: John Baldwin X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: RE: cvs commit: src/sys/i386/i386 machdep.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2003 21:24:56 -0000 On 03-Dec-2003 John Baldwin wrote: > jhb 2003/12/03 13:12:09 PST > > FreeBSD src repository > > Modified files: > sys/i386/i386 machdep.c > Log: > - Remove the hack to prevent the acpi module from loading. > - Add a really, really, nasty hack to provide stub versions of all of > the 'device apic' functions used by the ACPI MADT APIC enumerator if > 'device apic' is not compiled into the kernel. This is gross but is > the best we can do with the current kernel linker implementation. > > Approved by: re (scottl / blanket) Ideally, acpi.ko would contain two modules: 1 main acpi.kld module that was required and one optional madt.kld module that just contained madt.o and was optional. Then loading the module would succeed so long as the required 'acpi' module linked but if the optional 'madt' module failed to link, it would just be tossed. We don't really seem to be setup to do such things right now though. A more feasible model might be an acpi.a that contains acpi.ko and madt.ko and allow the kernel linker to handle foo.a by requiring the first .ko in the archive to link and having any additional .ko's be optional. This would work both for the acpi.ko/madt.ko case as well as bus attachments for device drivers such as a sym.a with sym.ko/sym_pci.ko/sym_cbus.ko, etc. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/