From owner-cvs-src@FreeBSD.ORG Thu Dec 4 09:48:47 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 6EFED16A4D0 for ; Thu, 4 Dec 2003 09:48:47 -0800 (PST) Received: from mail8.speakeasy.net (mail8.speakeasy.net [216.254.0.208]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D9ED43FDD for ; Thu, 4 Dec 2003 09:48:41 -0800 (PST) (envelope-from jmg@hydrogen.funkthat.com) Received: (qmail 14856 invoked from network); 4 Dec 2003 17:48:40 -0000 Received: from unknown (HELO hydrogen.funkthat.com) ([69.17.45.168]) (envelope-sender ) by mail8.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 4 Dec 2003 17:48:40 -0000 Received: from hydrogen.funkthat.com (fgjajc@localhost.funkthat.com [127.0.0.1])hB4HmdgP087379; Thu, 4 Dec 2003 09:48:39 -0800 (PST) (envelope-from jmg@hydrogen.funkthat.com) Received: (from jmg@localhost) by hydrogen.funkthat.com (8.12.10/8.12.10/Submit) id hB4HmcdJ087378; Thu, 4 Dec 2003 09:48:38 -0800 (PST) Date: Thu, 4 Dec 2003 09:48:38 -0800 From: John-Mark Gurney To: "M. Warner Losh" Message-ID: <20031204174838.GH54398@funkthat.com> References: <200312032112.hB3LC9GT079834@repoman.freebsd.org> <20031203.175806.132781932.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031203.175806.132781932.imp@bsdimp.com> User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD 4.2-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: jhb@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 Reply-To: John-Mark Gurney List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Dec 2003 17:48:47 -0000 M. Warner Losh wrote this message on Wed, Dec 03, 2003 at 17:58 -0700: > : 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. > > I'm not sure I follow what you are saying here. You need to have > something to resolve the symbols that madt provides. I don't know the acpi/madt interface, but why wouldn't a SYSINIT in madt that calls an acpi function with a struct of function pointers to notify acpi that it exists work? Then you don't have problems with acpi referencing madt's symbols and being required to load. acpi will get the pointers registered if it exists. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."