Sorry, you need to enable JavaScript to visit this website.


This project enables Linux to take advantage of platforms supporting Advanced Configuration & Power Interface -- virtually all high-volume i386, x86_64, and ia64 systems since 1999. ACPI, known as a Hardware Abstraction Layer (HAL) in embedded computing, is an abstraction layer between the operating system, platform firmware and hardware. This allows the OS and the platform to evolve independently. The core of the Linux ACPI implementation comes from ACPICA (ACPI Component Architecture). ACPICA includes an ACPI Machine Language (AML) interpreter that is resident in the Linux kernel. Several other operating systems use the same ACPICA core interpreter, including BSD and OpenSolaris. ACPICA also comes with a simulator, test suites, and a compiler, to translate ACPI Source Language (ASL) into AML.

The latest ACPICA package, including iASL compiler is here:

Where do I get acpidump for capturing my systems ACPI tables?

Previously spelled acpidmp, acpidump it is now included in many Linux distributions. If not, you can get the latest version from the latest pmtools package on this page.

See the README in the package for instructions on using it.
In summary, dump the ACPI tables from your system to a text file:

$ acpidump > acpidump.out

How can I process acpidump output?

If you want to debug the issue yourself, you can:

  1. Extract the binary ACPI tables from acpidump output

    $ acpixtract -a acpidump.out
  2. Disassemble the binary table into human source

    $ iasl -d TABLE.dat   
  3. Compile ASL into AML. This often finds static source errors that were not found by the ASL compiler that was used by the BIOS writer
    $ iasl -sa DSDT.dsl    
  4. Run AML with user-space interpreter

    $ acpiexec DSDT.dat