Transcription of Advanced Configuration and Power Interface …
1 Advanced Configuration and Power Interface specification Hewlett-Packard Corporation Intel Corporation Microsoft Corporation Phoenix Technologies Ltd. Toshiba Corporation Revision September 2, 2004 ii Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd., Toshiba Corporation All rights reserved. INTELLECTUAL PROPERTY DISCLAIMER THIS specification IS PROVIDED AS IS WITH NO WARRANTIES WHATSOEVER INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, specification , OR SAMPLE. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED OR INTENDED HEREBY.
2 HP, INTEL, MICROSOFT, PHOENIX, AND TOSHIBA DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION OF INFORMATION IN THIS specification . HP, INTEL, MICROSOFT, PHOENIX, AND TOSHIBA DO NOT WARRANT OR REPRESENT THAT SUCH IMPLEMENTATION(S) WILL NOT INFRINGE SUCH RIGHTS. Microsoft, Win32, Windows, and Windows NT are registered trademarks of Microsoft Corporation. All other product names are trademarks, registered trademarks, or service marks of their respective owners. iii Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba Revision Change Description Affected Sections Sept. 2004 Major specification revision. General Configuration enhancements. Inter-Processor Power , performance, and throttling state dependency support added.
3 Support for > 256 processors added. NUMA Distancing support added. PCI Express support added. SATA support added. Ambient Light Sensor and User Presence device support added. Thermal model extended beyond processor-centric support. 2003 Errata and clarifications added. Oct. 2002 Errata and clarifications added. Mar. 2002 Errata and clarifications added. ACPI Errata Document Revision through integrated. ACPI Errata Doc. Rev. Errata and clarifications added. ACPI Errata Doc. Rev. Errata and clarifications added. ACPI Errata Doc. Rev. Errata and clarifications added. ACPI Errata Doc. Rev. Errata and clarifications added. ACPI Errata Doc. Rev. Errata and clarifications added. ACPI Errata Doc. Rev. Errata and clarifications added.
4 Aug. 2000 Major specification revision. 64-bit addressing support added. Processor and device performance state support added. Numerous multiprocessor workstation and server-related enhancements. Consistency and readability enhancements throughout. Feb. 1999 Errata and clarifications added. New interfaces added. Jul. 1998 Errata and clarifications added. New interfaces added. Dec. 1996 Original Release. iv Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba v Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba Contents 1 INTRODUCTION .. 9 Principal Goals .. 9 Power Management Rationale .. 9 Legacy 9 OEM Implementation 9 Power and Sleep Buttons .. 9 ACPI specification and the Structure Of ACPI .. 9 OS and Platform 9 Platform Implementations of ACPI-defined Interfaces.
5 9 OSPM Implementations .. 9 OS 9 Target Audience .. 9 Document 9 ACPI Introduction and Overview .. 9 Programming Models .. 9 Implementation 9 Technical Reference .. 9 Related 9 2 DEFINITION OF TERMS .. 9 General ACPI Terminology .. 9 Global System State Definitions .. 9 Device Power State 9 Sleeping State Definitions .. 9 Processor Power State Definitions .. 9 Device and Processor Performance State 9 3 ACPI 9 System Power Management .. 9 Power 9 Power Button .. 9 Platform Power Management 9 Device Power Management .. 9 Power Management Standards .. 9 Device Power States .. 9 Device Power State 9 Controlling Device Power .. 9 Getting Device Power 9 Setting Device Power States .. 9 Getting Device Power Status.
6 9 Waking the 9 Example: Modem Device Power Management .. 9 Processor Power Management .. 9 Device and Processor Performance States .. 9 Configuration and Plug and Play .. 9 Device Configuration Example: Configuring the Modem .. 9 NUMA 9 System Events .. 9 Battery 9 Battery Communications .. 9 Battery Capacity .. 9 Battery Gas 9 vi Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba Low Battery Levels .. 9 Battery Calibration .. 9 Thermal 9 Active and Passive Cooling Modes .. 9 Performance vs. Energy 9 Acoustics (Noise) .. 9 Multiple Thermal Zones .. 9 4 ACPI HARDWARE Fixed Hardware Programming Model .. 9 Functional Fixed Hardware .. 9 Generic Hardware Programming Model .. 9 Diagram Legends .. 9 Register Bit 9 The ACPI Hardware Model.
7 9 Hardware Reserved Bits .. 9 Hardware Ignored 9 Hardware Write-Only 9 Cross Device Dependencies .. 9 ACPI Hardware 9 ACPI Register Model .. 9 ACPI Register Summary .. 9 Fixed Hardware 9 Fixed Hardware Registers .. 9 Generic Hardware Registers .. 9 5 ACPI SOFTWARE PROGRAMMING MODEL .. 9 Overview of the System Description Table Architecture .. 9 Address Space Translation .. 9 ACPI System Description Tables .. 9 Reserved Bits and Fields .. 9 9 Address Format .. 9 Universal Uniform Identifiers (UUID) .. 9 Root System Description Pointer (RSDP) .. 9 System Description Table Header .. 9 Root System Description Table (RSDT) .. 9 Extended System Description Table (XSDT) .. 9 Fixed ACPI Description Table (FADT) .. 9 Firmware ACPI Control Structure (FACS).
8 9 Definition 9 Global System Interrupts .. 9 Smart Battery Table (SBST).. 9 Embedded Controller Boot Resources Table (ECDT).. 9 System Resource Affinity Table (SRAT) .. 9 System Locality Distance Information Table (SLIT) .. 9 ACPI 9 Predefined Root Namespaces .. 9 9 Definition Block Encoding .. 9 Using the ACPI Control Method Source Language .. 9 ASL Statements .. 9 Control Method Execution .. 9 ACPI Event Programming Model .. 9 ACPI Event Programming Model 9 Types of ACPI Events .. 9 Device Object Notifications .. 9 vii Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba Device Class-Specific 9 Defined Generic Objects and Control Methods .. 9 Predefined Objects .. 9 \_GL (Global Lock Mutex).. 9 \_OSI (Operating System Interfaces).
9 9 \_OS (OS Name Object) .. 9 \_REV (Revision Data Object) .. 9 System Configuration 9 _PIC Method .. 9 6 Configuration .. 9 Device Identification Objects .. 9 _ADR (Address) .. 9 _CID (Compatible ID).. 9 _DDN (DOS Device Name) .. 9 _HID (Hardware ID) .. 9 _MLS (Multiple Language String) .. 9 _PLD (Physical Device Location) .. 9 _STR (String) .. 9 _SUN (Slot User Number) .. 9 _UID (Unique ID) .. 9 Device Configuration Objects .. 9 _CRS (Current Resource Settings) .. 9 _DIS (Disable).. 9 _DMA (Direct Memory Access) .. 9 _FIX (Fixed Register Resource Provider) .. 9 _GSB (Global System Interrupt Base).. 9 _HPP (Hot Plug Parameters) .. 9 _HPX (Hot Plug Parameter Extensions).. 9 _MAT (Multiple APIC Table Entry) .. 9 _OSC (Operating System Capabilities).
10 9 _PRS (Possible Resource Settings).. 9 _PRT (PCI Routing Table) .. 9 _PXM (Proximity).. 9 _SLI (System Locality Information).. 9 _SRS (Set Resource Settings).. 9 Device Insertion, Removal, and Status Objects .. 9 _EDL (Eject Device List) .. 9 _EJD (Ejection Dependent Device) .. 9 _EJx (Eject) .. 9 _LCK (Lock) .. 9 _OST (OSPM Status Indication) .. 9 _RMV (Remove) .. 9 _STA (Status) .. 9 Resource Data Types for ACPI .. 9 ASL Macros for Resource Descriptors .. 9 Small Resource Data Type .. 9 Large Resource Data Type .. 9 Other Objects and Control Methods .. 9 _INI (Init) .. 9 _DCK (Dock) .. 9 _BDN (BIOS Dock Name).. 9 _REG (Region).. 9 _BBN (Base Bus Number) .. 9 _SEG (Segment) .. 9 _GLK (Global Lock) .. 9 viii Hewlett-Packard/Intel/Microsoft/Phoenix/ Toshiba 7 Power AND PERFORMANCE MANAGEMENT.