Linux/ACPI
Valid XHTML 1.0!
Valid CSS!
SourceForge.net Logo

Last update: 2006-01-07

Legacy Documentation: Overview

Warning: This is legacy documentation.

ACPI is an open standard describing how computer components work together to manage system hardware. Unlike previous standards, ACPI activities are initiated at the operating system rather than firmware level. This enables more sophisticated and flexible approaches towards power management. For example, on a platform implementing ACPI, the OS can direct a cpu to turn itself off to conserve energy, and quickly return to a working state when needed.

The ACPI specification was released in 1996, the latest version is 2.0c and available at http://www.acpi.info/. The latest version includes extensions for platforms with 64 and 36 bit addressing. Sections 2,3,8 and 9 are recommended for the first-time reader.

While ACPI can be used for more than power management, this has been the focus of the Linux/ACPI team to date. Also note that ACPI defines interfaces for both hardware and software, so most power management activities, such as the system sleep states, require ACPI support from the BIOS, motherboard, and operating system kernel.

How it works in general

You might want to check out the HOWTO section.
There is also an article at acmqueue.com by Andrew Grover which covers a lot questions you might have about ACPI.
In summer 2004, at the Ottawa Linux Symposium, Len Brown talked about the current state of ACPI, its integration into the Linux kernel and future perspectives. You can download the slides in OpenOffice format and a more complete paper in the PDF format.

ACPI works by the construction and provision of description tables by system firmware. These tables have names like RSDT and DSDT. The tables reference one another in a specified hierarchy, enabling information to be accessed consistently across a variety of physical memory configurations. To see how to find these tables, examine section 5.4.2.1 of the spec, "Finding the RSDP on IA-PC systems". See the ACPI Components Architecture project's PM Tools program for tools to find and view the tables. You might encounter the acronym OSPM several times which stands for Operating System-directed configuration and Power Management.

How you can use it in Linux

The following assumes that you have already installed the patch and the kernel is running with the drivers enabled. All ACPI-related information can be found in /proc/acpi/, then.