`Power Interface Specification
`
`Hewlett-Packard Corporation
`Intel Corporation
`Microsoft Corporation
`Phoenix Technologies Ltd.
`Toshiba Corporation
`
`Revision 3.0
`September 2, 2004
`
`Qualcomm, Ex. 1014, Page 1
`
`
`
`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
`
`Qualcomm, Ex. 1014, Page 2
`
`
`
`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
`
`Qualcomm, Ex. 1014, Page 3
`
`
`
`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
`
`Qualcomm, Ex. 1014, Page 4
`
`
`
`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 Device Wake State)..................................................................................................................... 9
`7.2.20 _S3W (S3 Device Wake State)..................................................................................................................... 9
`7.2.21 _S4W (S4 Device Wake State)..................................................................................................................... 9
`7.3 OEM-Supplied System-Level Control Methods ................................................................................................ 9
`7.3.1 \_BFS (Back From Sleep)............................................................................................................................... 9
`7.3.2 \_PTS (Prepare To Sleep)............................................................................................................................... 9
`7.3.3 \_GTS (Going To Sleep)................................................................................................................................. 9
`7.3.4 System \_Sx states .......................................................................................................................................... 9
`7.3.5 _SWS (System Wake Source) ........................................................................................................................ 9
`7.3.6 \_TTS (Transition To State)............................................................................................................................ 9
`7.3.7 \_WAK (System Wake).................................................................................................................................. 9
`7.4 OSPM usage of _GTS, _PTS, _TTS, _WAK, and _BFS ................................................................................... 9
`8 PROCESSOR POWER AND PERFORMANCE STATE CONFIGURATION AND CONTROL .. 9
`8.1 Processor Power States ........................................................................................................................................ 9
`8.1.1 Processor Power State C0............................................................................................................................... 9
`8.1.2 Processor Power State C1............................................................................................................................... 9
`8.1.3 Processor Power State C2............................................................................................................................... 9
`8.1.4 Processor Power State C3............................................................................................................................... 9
`8.1.5 Additional Processor Power States................................................................................................................. 9
`8.2 Flushing Caches....................................................................................................................................