DragonFly BSD
DragonFly submit List (threaded) for 2004-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: acpica5 and acpi sub-modules (Re: cvs commit: src/sys/dev Makefile)


From: David Rhodus <drhodus@xxxxxxxxxxx>
Date: Thu, 29 Apr 2004 08:15:56 +0000

YONETANI Tomokazu wrote:
Hi.

On Mon, Apr 26, 2004 at 10:11:30AM +0900, YONETANI Tomokazu wrote:

On Sun, Apr 25, 2004 at 01:42:25PM +0000, David Rhodus wrote:

Matthew Dillon wrote:


:drhodus 2004/04/23 21:11:10 PDT
:
:DragonFly src repository
:
: Modified files:
: sys/dev Makefile : Log:
: Add in the new acpica5 to the device build path.
: : Revision Changes Path
: 1.3 +1 -1 src/sys/dev/Makefile
:
:
:http://www.dragonflybsd.org/cvsweb/src/sys/dev/Makefile.diff?r1=1.2&r2=1.3&f=h


 Ohhh... I don't know about that.  I don't think I ever did any testing
 of it, or entirely finished bringing it in.  This code should be
 considered extremely experiemental.

 Also there might be an issue with the boot loader automatically loading
 the module.  It might be a good idea to rename the module for now.



On the 20'something types of boards I tested this on, I found no problems. Though
yes, it is a good idea to wait till we get past a stable tag for this.

Does acpica5 successfully load when you're using UP kernel? I have only tested it with UP kernel, but it complains that required module `pci' is missing and wouldn't load. If I remove MODULE_DEPEND() from /sys/i386/acpica5/acpi_pci.c, it fails saying undefined symbol lapic_init . I've grep'ped it with

$ grep -r lapic_init /sys/

but no definition was found.


(Am I in his killfile?)

Ok, here's a patch that make acpica5 module and its sub-modules load
on my system. At the moment, the only acpi sub module is acpi_toshiba
because that's the only sub-module I can test. Acpi sub-modules are
kernel modules to access some special hardwares installed on some
PCs. acpi_toshiba is one of such sub-modules needed to do CPU throttle
and other things on Toshiba notebook PCs.

What the patch does:
- isolate module build directory from /sys/dev/acpica5 into
  /sys/dev/acpi, so that sub-module can be built at the same time,
  and new sub-modules can be populated without messing up acpica5
  directory. /sys/dev/acpi roughly corresponds to /sys/modules/acpi
  of FreeBSD. Makefiles are brought from FreeBSD without removing
  $FreeBSD$ keywords.

- add "gross hack" from /sys/i386/i386/machdep.c,1.584 of FreeBSD,
  and remove stale dependency to non-existing `pci' module, so that
  acpi module loads.

- catch up with the change in src/sys/i386/include/acpica_machdep.h,v 1.5 from FreeBSD to quiet the warning. There's another place where it
produces `implicit declaration' warning for isab_attach(), but I'm not
sure how to fix this.


To apply the patch:
$ zcat acpi5.gz | patch -d /path/to/sys -p0

Tested with both gcc2 and gcc3 on UP kernel (and I'm using it now).
The patch does not connect /sys/dev/acpi to buildkernel, so you have to
either build and install it manually, or add `acpi' to SUBDIR in
/sys/dev/Makefile, to test this.

Thanks.


Sorry about the delay in sending a message back. I've been switching mail clients, from iMail over to Mozilla. The message flagging needs still some more work. :-) I'll take a look at this patch today.

The reason for a pci module message is because in FreeBSD the developers like to make everything "pluggable". I don't think this is always the best thing to do. I'd rather add in some indirect call hooks
for major things so I can set them in boot loader.


Thanks for you work.

-DR



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]