Feature #1621


update acpica code to newer version (Joyent OS-441)

Added by Dan McDonald about 11 years ago. Updated about 11 years ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:
External Bug:


Joyent has updated acpica code from Intel for SmartOS. They've tested it in their own deployments, but there is power-management code that could use some community examination prior to push.

Related issues

Related to illumos gate - Bug #311: acpica components are using export restricted licenseResolvedAlbert Lee2010-10-07

Actions #1

Updated by Rich Lowe about 11 years ago

  • Project changed from OpenIndiana Distribution to illumos gate
  • Category deleted (OS/Net (Kernel and Userland))
Actions #2

Updated by Dan McDonald about 11 years ago

  • Category set to kernel

Generally speaking, this bug needs more testing than review. Special attention should be paid to previously-not-working hardware platforms, and suspend/resume behavior.

Actions #3

Updated by Jon Strabala about 11 years ago

I ran a long (about 12 day) stability test on the acpica code bits plus a small both a patch for #1333 (for apic_timer.c) without finding any issues.

This was on a E3 Sandy Bridge, e.g. Supermicro X9SCI/X9SCA with a Intel(R) Xeon(R) CPU E31270 @ 3.40GHz CPU

Note your acpia bits were not responsible nor were they the fix to bug #1333, but a patch worked out by for apic_timer.c by Aubrey Li ref: seems to solve #1333 and also work with the new acpica code bits.

Actions #4

Updated by Gordon Ross about 11 years ago

I have a laptop (Dell Precision M6300) on which oi151 works great,
suspend/resume and everything, so I tried this code. Regressions:

1: When I close the lid, it used to suspend, now it does not.
2: If I request suspend from gnome, it suspends, but then
resume appears to hang early on. Black screen, no disk
activity, keyboard caps lock etc. has no effect. Had to
hold down the power button and power cycle.

Actions #5

Updated by Gordon Ross about 11 years ago

I looked into this a little, and found some interesting resources:
Section 4.* in general has lots of relevant stuff.

4.2.5 "Execute all _PRW methods within the namespace..."
I don't think our ACPI kernel support is doing that.

4.4.1 "Partly because of these changes and because ACPICA will no
longer execute _PRW methods on behalf of the host, ACPICA itself no
longer attempts to differentiate between runtime and wake GPEs. This
identification is left to the host and the individual device drivers
as described in the following sections."

I suspect the change described there implies necessary but missing
changes in our system-specific acpi code.
(The bit about how we need to "execute all _PRW methods". I don't see
that in our code right now.) has some detail on this, and (possibly) an error. It refers
to AcpiSetWakeGpe here and in a few other places, but that function is
not in the function reference. I suspect they meant to refer to the
new: AcpiSetupGpeForWake, but that's a guess on my part.

I think we're supposed to "execute all _PRW" methods and then call
AcpiSetupGpeForWake as appropriate.
I found some changes in DragonFly BSD that seem to support this:

Actions #6

Updated by Gordon Ross about 11 years ago

  • Subject changed from update acpica code to newer version (via Joyent) to update acpica code to newer version (Joyent OS-441)
Actions #7

Updated by Gordon Ross about 11 years ago

  • Assignee changed from Dan McDonald to Gordon Ross

The regressions described in note-4 are now being tracked in issue #1838

Actions #8

Updated by Gordon Ross about 11 years ago

This was originally going to be two change sets, the first being:
which would have the following commit info:

changeset:   13517:e3e9baee7176
tag:         tip
user:        Jerry Jelinek <>
date:        Tue Jun 28 14:38:20 2011 -0700

    1621 update acpica code to newer version (Joyent OS-441)

and the second change set would be the fixes for
suspend/resume etc. as described in note 5.

However, in order to avoid having a change set with some
regressions, some RTI advocates asked that I combine them.

So the final, single change set is:

changeset:   13539:15b6c91053a3
tag:         tip
user:        Gordon Ross <>
date:        Thu Dec 01 22:58:02 2011 -0500

    1621 update acpica code to newer version (Joyent OS-441)
    Reviewed by: Garrett D'Amore <>
    Reviewed by: Dan McDonald <>
    Reviewed by: Robert Mustacchi <>
    Approved by: Garrett D'Amore <>
Actions #9

Updated by Gordon Ross about 11 years ago

  • Status changed from New to Resolved
  • % Done changed from 60 to 100

Also available in: Atom PDF