Project

General

Profile

Actions

Bug #392

closed

ACPI-CA update patch for review

Added by qhwt+dfly over 17 years ago. Updated over 16 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Hello.
Here's a patch against HEAD to update ACPI-CA
code in our tree to 20060912 with help from Jeffrey Hsu:
http://leaf.dragonflybsd.org/~y0netan1/acpi-20060912-14.diff

How to compile:
1. fetch above patch, and the new ACPI-CA code from Intel site:
$ cd
$ fetch http://leaf.dragonflybsd.org/~y0netan1/acpi-20060912-14.diff
$ fetch http://developer.intel.com/technology/iapc/acpi/downloads/acpica-unix-20060912.tar.gz

2. extract the ACPI-CA code under /sys/contrib/dev
$ tar -C /sys/contrib/dev -zxf ~/acpica-unix-20060912.tar.gz
3. apply the patch to the source tree
$ patch -d /usr/src -p0 < ~/acpi-20060912-14.diff
4. build and install the acpi module, then reboot
$ cd /sys/dev/acpica5
$ export MAKEOBJDIRPREFIX=$HOME/obj
$ make obj && make depend && make
$ su
  1. make install && reboot

Some known issues:
- a warning upon reboot which looks like this:

AcpiOsUnmapMemory: Warning, broken ACPI, bad unmap: 0xc5e1ee00/00000040
IIRC, I've never seen this before updating my patch from 20060707 to
20060912, so I may have done something stupid while dealing with the
changes with regard to Table Manager. I'm investigating this.

- hand-rolled locking code in AcpiOs{Acquire,Release}Lock() functions:
ACPI-CA code has been rewritten in 20060623 to make these functions
to be used as spinlock functions, and called from many places where
they weren't before. Since our implementation of these locking functions
used lockmgr lock, which cannot be called from cpu_idle(), this led to
a panic(mainly when my laptop wakes up from sleep state). After struggling
with other locking primitives, I ended up with critical section and
special-cased the idlethread. I believed this shouldn't make the situation
worse, as ACPI functions called from cpu_idle_hook code in acpi_cpu did
not using locking before. But I'm open to a better implementation,
especially how to deal with locking when called from idlethread.

- new ACPI-CA code may be released soon, as 20060912 is more than 2-months
old now

absolutely :)

Regards.

Actions

Also available in: Atom PDF