`Power Interface Specification
`
`Hewlett-Packard Corporation
`Intel Corporation
`Microsoft Corporation
`Phoenix Technologies Ltd.
`Toshiba Corporation
`
`Revision 3.0
`September 2, 2004
`
`1
`
`APPLE 2006
`QUALCOMM V. APPLE
`IPR2019-00325
`
`
`
`ii
`
`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.
`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.
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`2
`
`
`
`Revision
`3.0
`Sept. 2004
`
`2.0c
`Aug.. 2003
`
`2.0b
`Oct. 2002
`
`2.0a
`Mar. 2002
`ACPI 2.0
`Errata Doc.
`Rev. 1.5
`ACPI 2.0
`Errata Doc.
`Rev. 1.4
`ACPI 2.0
`Errata Doc.
`Rev. 1.3
`ACPI 2.0
`Errata Doc.
`Rev. 1.2
`ACPI 2.0
`Errata Doc.
`Rev. 1.1
`ACPI 2.0
`Errata Doc.
`Rev. 1.0
`2.0
`Aug. 2000
`
`1.0b
`Feb. 1999
`1.0a
`Jul. 1998
`1.0
`Dec. 1996
`
`iii
`
`Affected
`Sections
`
`Change Description
`Major specification revision. General configuration enhancements. Inter-
`Processor power, performance, and throttling state dependency support added.
`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.
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`Errata and clarifications added. ACPI 2.0 Errata Document Revision 1.0
`through 1.5 integrated.
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`Errata and clarifications added.
`
`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.
`Errata and clarifications added. New interfaces added.
`
`Errata and clarifications added. New interfaces added.
`
`Original Release.
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`3
`
`
`
`iv
`iv
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`4
`
`4
`
`
`
`v
`
`Contents
`1 INTRODUCTION ..................................................................................................................................... 9
`1.1 Principal Goals ..................................................................................................................................................... 9
`1.2 Power Management Rationale ............................................................................................................................ 9
`1.3 Legacy Support..................................................................................................................................................... 9
`1.4 OEM Implementation Strategy........................................................................................................................... 9
`1.5 Power and Sleep Buttons ..................................................................................................................................... 9
`1.6 ACPI Specification and the Structure Of ACPI ................................................................................................ 9
`1.7 OS and Platform Compliance.............................................................................................................................. 9
`1.7.1 Platform Implementations of ACPI-defined Interfaces .................................................................................. 9
`1.7.2 OSPM Implementations ................................................................................................................................. 9
`1.7.3 OS Requirements............................................................................................................................................ 9
`1.8 Target Audience ................................................................................................................................................... 9
`1.9 Document Organization....................................................................................................................................... 9
`1.9.1 ACPI Introduction and Overview................................................................................................................... 9
`1.9.2 Programming Models ..................................................................................................................................... 9
`1.9.3 Implementation Details................................................................................................................................... 9
`1.9.4 Technical Reference ....................................................................................................................................... 9
`1.10 Related Documents............................................................................................................................................. 9
`2 DEFINITION OF TERMS ....................................................................................................................... 9
`2.1 General ACPI Terminology ................................................................................................................................ 9
`2.2 Global System State Definitions.......................................................................................................................... 9
`2.3 Device Power State Definitions............................................................................................................................ 9
`2.4 Sleeping State Definitions .................................................................................................................................... 9
`2.5 Processor Power State Definitions ...................................................................................................................... 9
`2.6 Device and Processor Performance State Definitions........................................................................................ 9
`3 ACPI OVERVIEW.................................................................................................................................... 9
`3.1 System Power Management ................................................................................................................................ 9
`3.2 Power States.......................................................................................................................................................... 9
`3.2.1 Power Button.................................................................................................................................................. 9
`3.2.2 Platform Power Management Characteristics................................................................................................. 9
`3.3 Device Power Management ................................................................................................................................. 9
`3.3.1 Power Management Standards ....................................................................................................................... 9
`3.3.2 Device Power States....................................................................................................................................... 9
`3.3.3 Device Power State Definitions...................................................................................................................... 9
`3.4 Controlling Device Power.................................................................................................................................... 9
`3.4.1 Getting Device Power Capabilities................................................................................................................. 9
`3.4.2 Setting Device Power States........................................................................................................................... 9
`3.4.3 Getting Device Power Status.......................................................................................................................... 9
`3.4.4 Waking the Computer..................................................................................................................................... 9
`3.4.5 Example: Modem Device Power Management .............................................................................................. 9
`3.5 Processor Power Management ............................................................................................................................ 9
`3.6 Device and Processor Performance States ......................................................................................................... 9
`3.7 Configuration and “Plug and Play”.................................................................................................................... 9
`3.7.1 Device Configuration Example: Configuring the Modem.............................................................................. 9
`3.7.2 NUMA Nodes................................................................................................................................................. 9
`3.8 System Events....................................................................................................................................................... 9
`3.9 Battery Management............................................................................................................................................ 9
`3.9.1 Battery Communications ................................................................................................................................ 9
`3.9.2 Battery Capacity ............................................................................................................................................. 9
`3.9.3 Battery Gas Gauge.......................................................................................................................................... 9
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`5
`
`
`
`vi
`
`3.9.4 Low Battery Levels ........................................................................................................................................ 9
`3.9.5 Battery Calibration ......................................................................................................................................... 9
`3.10 Thermal Management........................................................................................................................................ 9
`3.10.1 Active and Passive Cooling Modes .............................................................................................................. 9
`3.10.2 Performance vs. Energy Conservation.......................................................................................................... 9
`3.10.3 Acoustics (Noise) ......................................................................................................................................... 9
`3.10.4 Multiple Thermal Zones ............................................................................................................................... 9
`4 ACPI HARDWARE SPECIFICATION.................................................................................................. 9
`4.1 Fixed Hardware Programming Model ............................................................................................................... 9
`4.1.1 Functional Fixed Hardware ............................................................................................................................ 9
`4.2 Generic Hardware Programming Model ........................................................................................................... 9
`4.3 Diagram Legends ................................................................................................................................................. 9
`4.4 Register Bit Notation............................................................................................................................................ 9
`4.5 The ACPI Hardware Model ................................................................................................................................ 9
`4.5.1 Hardware Reserved Bits ................................................................................................................................. 9
`4.5.2 Hardware Ignored Bits.................................................................................................................................... 9
`4.5.3 Hardware Write-Only Bits.............................................................................................................................. 9
`4.5.4 Cross Device Dependencies ........................................................................................................................... 9
`4.6 ACPI Hardware Features.................................................................................................................................... 9
`4.7 ACPI Register Model........................................................................................................................................... 9
`4.7.1 ACPI Register Summary ................................................................................................................................ 9
`4.7.2 Fixed Hardware Features................................................................................................................................ 9
`4.7.3 Fixed Hardware Registers .............................................................................................................................. 9
`4.7.4 Generic Hardware Registers........................................................................................................................... 9
`5 ACPI SOFTWARE PROGRAMMING MODEL .................................................................................. 9
`5.1 Overview of the System Description Table Architecture.................................................................................. 9
`5.1.1 Address Space Translation ............................................................................................................................. 9
`5.2 ACPI System Description Tables........................................................................................................................ 9
`5.2.1 Reserved Bits and Fields ................................................................................................................................ 9
`5.2.2 Compatibility.................................................................................................................................................. 9
`5.2.3 Address Format .............................................................................................................................................. 9
`5.2.4 Universal Uniform Identifiers (UUID) ........................................................................................................... 9
`5.2.5 Root System Description Pointer (RSDP) ...................................................................................................... 9
`5.2.6 System Description Table Header .................................................................................................................. 9
`5.2.7 Root System Description Table (RSDT) ........................................................................................................ 9
`5.2.8 Extended System Description Table (XSDT)................................................................................................. 9
`5.2.9 Fixed ACPI Description Table (FADT) ......................................................................................................... 9
`5.2.10 Firmware ACPI Control Structure (FACS) .................................................................................................. 9
`5.2.11 Definition Blocks.......................................................................................................................................... 9
`5.2.12 Global System Interrupts.............................................................................................................................. 9
`5.2.13 Smart Battery Table (SBST)......................................................................................................................... 9
`5.2.14 Embedded Controller Boot Resources Table (ECDT).................................................................................. 9
`5.2.15 System Resource Affinity Table (SRAT) ..................................................................................................... 9
`5.2.16 System Locality Distance Information Table (SLIT) ................................................................................... 9
`5.3 ACPI Namespace.................................................................................................................................................. 9
`5.3.1 Predefined Root Namespaces ......................................................................................................................... 9
`5.3.2 Objects............................................................................................................................................................ 9
`5.4 Definition Block Encoding................................................................................................................................... 9
`5.5 Using the ACPI Control Method Source Language .......................................................................................... 9
`5.5.1 ASL Statements.............................................................................................................................................. 9
`5.5.2 Control Method Execution ............................................................................................................................. 9
`5.6 ACPI Event Programming Model ...................................................................................................................... 9
`5.6.1 ACPI Event Programming Model Components.............................................................................................. 9
`5.6.2 Types of ACPI Events .................................................................................................................................... 9
`5.6.3 Device Object Notifications ........................................................................................................................... 9
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`6
`
`
`
`vii
`
`5.6.4 Device Class-Specific Objects........................................................................................................................ 9
`5.6.5 Defined Generic Objects and Control Methods.............................................................................................. 9
`5.7 Predefined Objects............................................................................................................................................... 9
`5.7.1 \_GL (Global Lock Mutex)............................................................................................................................. 9
`5.7.2 \_OSI (Operating System Interfaces).............................................................................................................. 9
`5.7.3 \_OS (OS Name Object)................................................................................................................................. 9
`5.7.4 \_REV (Revision Data Object) ....................................................................................................................... 9
`5.8 System Configuration Objects............................................................................................................................. 9
`5.8.1 _PIC Method .................................................................................................................................................. 9
`6 CONFIGURATION .................................................................................................................................. 9
`6.1 Device Identification Objects .............................................................................................................................. 9
`6.1.1 _ADR (Address)............................................................................................................................................. 9
`6.1.2 _CID (Compatible ID).................................................................................................................................... 9
`6.1.3 _DDN (DOS Device Name) ........................................................................................................................... 9
`6.1.4 _HID (Hardware ID) ...................................................................................................................................... 9
`6.1.5 _MLS (Multiple Language String) ................................................................................................................. 9
`6.1.6 _PLD (Physical Device Location) .................................................................................................................. 9
`6.1.7 _STR (String) ................................................................................................................................................. 9
`6.1.8 _SUN (Slot User Number) ............................................................................................................................. 9
`6.1.9 _UID (Unique ID) .......................................................................................................................................... 9
`6.2 Device Configuration Objects ............................................................................................................................. 9
`6.2.1 _CRS (Current Resource Settings) ................................................................................................................. 9
`6.2.2 _DIS (Disable)................................................................................................................................................ 9
`6.2.3 _DMA (Direct Memory Access) .................................................................................................................... 9
`6.2.4 _FIX (Fixed Register Resource Provider) ...................................................................................................... 9
`6.2.5 _GSB (Global System Interrupt Base)............................................................................................................ 9
`6.2.6 _HPP (Hot Plug Parameters) .......................................................................................................................... 9
`6.2.7 _HPX (Hot Plug Parameter Extensions)......................................................................................................... 9
`6.2.8 _MAT (Multiple APIC Table Entry).............................................................................................................. 9
`6.2.9 _OSC (Operating System Capabilities) .......................................................................................................... 9
`6.2.10 _PRS (Possible Resource Settings)............................................................................................................... 9
`6.2.11 _PRT (PCI Routing Table) ........................................................................................................................... 9
`6.2.12 _PXM (Proximity)........................................................................................................................................ 9
`6.2.13 _SLI (System Locality Information)............................................................................................................. 9
`6.2.14 _SRS (Set Resource Settings)....................................................................................................................... 9
`6.3 Device Insertion, Removal, and Status Objects ................................................................................................. 9
`6.3.1 _EDL (Eject Device List) ............................................................................................................................... 9
`6.3.2 _EJD (Ejection Dependent Device)................................................................................................................ 9
`6.3.3 _EJx (Eject) .................................................................................................................................................... 9
`6.3.4 _LCK (Lock) .................................................................................................................................................. 9
`6.3.5 _OST (OSPM Status Indication) .................................................................................................................... 9
`6.3.6 _RMV (Remove)............................................................................................................................................ 9
`6.3.7 _STA (Status)................................................................................................................................................. 9
`6.4 Resource Data Types for ACPI........................................................................................................................... 9
`6.4.1 ASL Macros for Resource Descriptors........................................................................................................... 9
`6.4.2 Small Resource Data Type ............................................................................................................................. 9
`6.4.3 Large Resource Data Type ............................................................................................................................. 9
`6.5 Other Objects and Control Methods .................................................................................................................. 9
`6.5.1 _INI (Init) ....................................................................................................................................................... 9
`6.5.2 _DCK (Dock) ................................................................................................................................................. 9
`6.5.3 _BDN (BIOS Dock Name)............................................................................................................................. 9
`6.5.4 _REG (Region)............................................................................................................................................... 9
`6.5.5 _BBN (Base Bus Number) ............................................................................................................................. 9
`6.5.6 _SEG (Segment)............................................................................................................................................. 9
`6.5.7 _GLK (Global Lock) ...................................................................................................................................... 9
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`7
`
`
`
`viii
`
`7 POWER AND PERFORMANCE MANAGEMENT............................................................................. 9
`7.1 Declaring a Power Resource Object ................................................................................................................... 9
`7.1.1 Defined Child Objects for a Power Resource ................................................................................................. 9
`7.1.2 _OFF .............................................................................................................................................................. 9
`7.1.3 _ON................................................................................................................................................................ 9
`7.1.4 _STA (Status)................................................................................................................................................. 9
`7.2 Device Power Management Objects ................................................................................................................... 9
`7.2.1 _DSW (Device Sleep Wake) .......................................................................................................................... 9
`7.2.2 _PS0 (Power State 0)...................................................................................................................................... 9
`7.2.3 _PS1 (Power State 1)...................................................................................................................................... 9
`7.2.4 _PS2 (Power State 2)...................................................................................................................................... 9
`7.2.5 _PS3 (Power State 3)...................................................................................................................................... 9
`7.2.6 _PSC (Power State Current) ........................................................................................................................... 9
`7.2.7 _PR0 (Power Resources for D0)..................................................................................................................... 9
`7.2.8 _PR1 (Power Resources for D1)..................................................................................................................... 9
`7.2.9 _PR2 (Power Resources for D2)..................................................................................................................... 9
`7.2.10 _PRW (Power Resources for Wake)............................................................................................................. 9
`7.2.11 _PSW (Power State Wake)........................................................................................................................... 9
`7.2.12 _IRC (In Rush Current) ................................................................................................................................ 9
`7.2.13 _S1D (S1 Device State)................................................................................................................................ 9
`7.2.14 _S2D (S2 Device State)................................................................................................................................ 9
`7.2.15 _S3D (S3 Device State)................................................................................................................................ 9
`7.2.16 _S4D (S4 Device State)................................................................................................................................ 9
`7.2.17 _S0W (S0 Device Wake State)..................................................................................................................... 9
`7.2.18 _S1W (S1 Device Wake State)..................................................................................................................... 9
`7.2.19 _S2W (S2 Devic