Date: Thu, 4 Dec 2003 09:48:38 -0800 From: John-Mark Gurney <gurney_j@efn.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: jhb@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/i386 machdep.c Message-ID: <20031204174838.GH54398@funkthat.com> In-Reply-To: <20031203.175806.132781932.imp@bsdimp.com> References: <200312032112.hB3LC9GT079834@repoman.freebsd.org> <XFMail.20031203162446.jhb@FreeBSD.org> <20031203.175806.132781932.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031204174838.GH54398>