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

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


From: YONETANI Tomokazu <qhwt+dragonfly-submit@xxxxxxxxxx>
Date: Thu, 29 Apr 2004 17:24:47 +0900

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.

Attachment: acpi5.gz
Description: application/gunzip



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