`Power Interface Specification
`
`Compaq Computer Corporation
`Intel Corporation
`Microsoft Corporation
`Phoenix Technologies Ltd.
`Toshiba Corporation
`
`Revision 2.0
`July 27, 2000
`
`
`
`0001
`
`AMD EX1013
`U.S. Patent No. 6,895,519
`
`
`
`ii
`
`Copyright © 1996, 1997, 1998, 1999, 2000 Compaq Computer 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.
`
`COMPAQ, INTEL, MICROSOFT, PHOENIX, AND TOSHIBA DISCLAIM ALL LIABILITY, INCLUDING
`LIABILITY FOR INFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION
`OF INFORMATION IN THIS SPECIFICATION. COMPAQ, 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.
`
`0002
`
`
`
`Revision
`
`Change Description
`
`Aug. 2000
`
`2.0
`
`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.
`
`iii
`
`Affected
`Sections
`
`
`Feb. 1999
`
`Fixed previous errata that deleted wrong paragraph in the RTC_EN description.
`
`4.7.3.1.2
`
`1.0b
`
`1.0a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Clarified P_BLK requirements on multiprocessor systems.
`
`4.7.2.6.3
`
`Changed definition of SCI_INT pin in Table 5-5.
`
`Replaced section 5.2.8, adding new structures and clarifications to support
`multiprocessor configurations.
`
`Expanded Name Space description—clarified the name search rules, added
`Parent operator to operator list, described name padding.
`
`Expanded ASL definition—defined global objects, clarification that OpRegion
`accesses may block, added description of the scope and life of variables in
`control methods.
`
`5.2.5
`
`5.2.8
`
`5.3
`
`5.5.3
`
`Changed notify values.
`
`Added \_PIC method to Table 5-33 and new section 5.8.
`
`Added USB _ADR values to Table 6-1.
`
`ACPI Control Method added for floppy enumeration (_FDE).
`
`ASL Grammar clarifications—initial and default SyncLevel values, ObjectType
`behavior for specific objects, usage of the RefOf operator and behavior of non-
`package method evaluation.
`
`Added top-level AML definition.
`
`Changed concat arguments to be TermArgs resolving to data.
`
`Added the _GLK object and referenced it in the Smart Battery and the Control
`Method Battery sections.
`
`Added Video Extensions as an Appendix.
`
`Added _PRT requirement for PCI root bridges.
`
`Clarification H/W behavior—PM timer may be stopped when not in the G0/S0
`state, Lid Switch behavior and correction of the RTC_EN bit in Table 4-10.
`
`Clarification of tables—trailing blank required in signature in Table 5-1,
`FLUSH_SIZE and FLUSH_STRIDE clarification Table 5-5.
`
`Clarified placement of APIC-related structures and general clean up, added
`Interrupt source overrides.
`
`Various removals —Figure 5-4, DCK_CAP flag from Table 5-6, _SBC and
`_SBS methods from Table 5-33.
`
`5.6.3
`
`5.6.5 & 5.8
`
`6.1.1
`
`10.8
`
`15.2.3
`
`16.2
`
`16.2.4.4
`
`6.5.6 &
`11.1.4 &
`11.2.2 & 13.8
`& 13.9
`&13.12
`
`Appendix A
`
`1.7
`
`4.7.2.1
`
`5.2.x
`
`5.2.8
`
`
`
`Compaq/Intel/Microsoft/Phoenix/Toshiba
`
`0003
`
`
`
`iv
`
`(continued)
`
`Revision
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1.0
`
`
`Change Description
`
`Various additions—AC device PnP ID to Table 5-32, _DDN (logical name
`association) to Table 6-1, _ADR values for floppy, _FDI–floppy configuration
`info, requirements for _CRS used with bus devices, battery presence bit to
`_STA definition, QWORD to La rge Resource data type, _INI Method.
`
`Wake/Sleep clarifications—_PTS not executed for S5 and SCI cannot occur
`before enabled.
`
`Rewrote the IDE Controller Device section.
`
`Corrected the passive cooling equation for TC1 and TC2.
`
`Removed requirement that PRx contain numeric lowest state.
`
`Removed Duplicate Section “General-Purpose Register Blocks.”
`
`Affected
`Sections
`
`5.6.4
`
`9.1 & 9.3
`
`10.8
`
`12.3.7 (&8)
`
`7.2.x (0-2)
`
`4.7.4.3
`
`Clarified that C1 is required and C2 & C3 are optional and reiterate requirement
`for C1 processor state in Table 5-6.
`
`4.7.2.6 &
`5.2.5
`
`Clarified the Passive Cooling Equation.
`
`Numerous grammar updates and corrections.
`
`Added SxD objects.
`
`Original Release.
`
`12.1.5
`
`15 & 16
`
`7.2 &7.2.x
`
`
`
`0004
`
`
`
`v
`
`Contents
`1 INTRODUCTION......................................................................................................................................................1
`1.1 Principal Goals ...................................................................................................................................................1
`1.2 Power Management Rationale .......................................................................................................................2
`1.3 Legacy Support...................................................................................................................................................3
`1.4 OEM Implementation Strategy......................................................................................................................3
`1.5 Power and Sleep Buttons .................................................................................................................................3
`1.6 ACPI Specification and the Structure Of ACPI........................................................................................4
`1.7 OS and Platform Compliance.........................................................................................................................5
`1.7.1 Platform Implementations of ACPI-defined Interfaces ......................................................................... 5
`1.7.2 OSPM Implementations.............................................................................................................................. 9
`1.7.3 OS Requirements........................................................................................................................................ 10
`1.8 Target Audience ...............................................................................................................................................10
`1.9 Document Organization .................................................................................................................................10
`1.9.1 ACPI Overview ..........................................................................................................................................11
`1.9.2 Programming Models ................................................................................................................................11
`1.9.3 Implementation Details ............................................................................................................................. 11
`1.9.4 Technical Reference ..................................................................................................................................12
`1.10 Related Documents ........................................................................................................................................12
`2 DEFINITION OF TERMS ....................................................................................................................................13
`2.1 General ACPI Terminology..........................................................................................................................13
`2.2 Global System State Definitions ...................................................................................................................19
`2.3 Device Power State Definitions.....................................................................................................................21
`2.4 Sleeping State Definitions ..............................................................................................................................22
`2.5 Processor Power State Definitions...............................................................................................................23
`2.6 Device and Processor Performance State Definitions ............................................................................23
`3 OVERVIEW ..............................................................................................................................................................24
`3.1 System Power Management..........................................................................................................................25
`3.2 Power States ......................................................................................................................................................26
`3.2.1 New Meanings for the Power Button ..................................................................................................... 27
`3.2.2 Platform Power Management Characteristics ....................................................................................... 27
`3.3 Device Power Management...........................................................................................................................28
`3.3.1 Power Management Standards................................................................................................................. 29
`3.3.2 Device Power States ..................................................................................................................................29
`3.3.3 Device Power State Definitions............................................................................................................... 29
`3.4 Controlling Device Power ..............................................................................................................................30
`3.4.1 Getting Device Power Capabilities ......................................................................................................... 30
`3.4.2 Setting Device Power States .................................................................................................................... 30
`3.4.3 Getting Device Power Status ................................................................................................................... 31
`3.4.4 Waking the Computer ............................................................................................................................... 31
`3.4.5 Example: Modem Device Power Management..................................................................................... 32
`3.5 Processor Power Management .....................................................................................................................35
`3.6 Device and Processor Performance States ................................................................................................35
`
`Compaq/Intel/Microsoft/Phoenix/Toshiba
`
`0005
`
`
`
`vi
`
`3.7 Plug and Play.....................................................................................................................................................35
`3.7.1 Example: Configuring the Modem.......................................................................................................... 36
`3.8 System Events ...................................................................................................................................................36
`3.9 Battery Management.......................................................................................................................................37
`3.9.1 Battery Communications .......................................................................................................................... 37
`3.9.2 Battery Capacity.........................................................................................................................................38
`3.9.3 Battery Gas Gauge .....................................................................................................................................38
`3.9.4 Low Battery Levels ....................................................................................................................................39
`3.10 Thermal Management ..................................................................................................................................41
`3.10.1 Active and Passive Cooling Modes ...................................................................................................... 42
`3.10.2 Performance vs. Energy Conservation................................................................................................. 42
`3.10.3 Acoustics ...................................................................................................................................................42
`3.10.4 Multiple Thermal Zones ......................................................................................................................... 42
`4 ACPI HARDWARE SPECIFICATION............................................................................................................43
`4.1 Fixed Hardware Programming Model.......................................................................................................43
`4.1.1 Functional Fixed Hardware ...................................................................................................................... 44
`4.2 Generic Hardware Programming Model ..................................................................................................45
`4.3 Diagram Legends .............................................................................................................................................47
`4.4 Register Bit Notation.......................................................................................................................................47
`4.5 The ACPI Hardware Model..........................................................................................................................48
`4.5.1 Hardware Reserved Bits............................................................................................................................ 51
`4.5.2 Hardware Ignored Bits .............................................................................................................................. 52
`4.5.3 Hardware Write-Only Bits........................................................................................................................ 52
`4.5.4 Cross Device Dependencies ..................................................................................................................... 52
`4.6 ACPI Hardware Features ..............................................................................................................................53
`4.7 ACPI Register Model ......................................................................................................................................54
`4.7.1 ACPI Register Summary........................................................................................................................... 57
`4.7.2 Fixed Hardware Features .......................................................................................................................... 59
`4.7.3 Fixed Hardware Registers......................................................................................................................... 70
`4.7.4 Generic Hardware Registers..................................................................................................................... 77
`5 ACPI SOFTWARE PROGRAMMING MODEL ...........................................................................................85
`5.1 Overview of the System Description Table Architecture......................................................................85
`5.1.1 Address Space Translation....................................................................................................................... 87
`5.2 ACPI System Description Tables.................................................................................................................88
`5.2.1 Reserved Bits and Fields........................................................................................................................... 88
`5.2.2 Compatibility ..............................................................................................................................................89
`5.2.3 Address Format ..........................................................................................................................................89
`5.2.4 Root System Description Pointer (RSDP)............................................................................................. 90
`5.2.5 System Description Table Header........................................................................................................... 92
`5.2.6 Root System Description Table (RSDT)................................................................................................ 94
`5.2.7 Extended System Description Table (XSDT) ....................................................................................... 95
`5.2.8 Fixed ACPI Description Table (FADT) ................................................................................................. 96
`5.2.9 Firmware ACPI Control Structure (FACS).........................................................................................106
`5.2.10 Definition Blocks ...................................................................................................................................109
`
`Compaq/Intel/Microsoft/Phoenix/Toshiba
`
`0006
`
`
`
`vii
`
`5.2.11 Global System Interrupts......................................................................................................................119
`5.2.12 Smart Battery Table (SBST) ................................................................................................................120
`5.2.13 Embedded Controller Boot Resources Table ....................................................................................121
`5.3 ACPI NameSpace..........................................................................................................................................123
`5.3.1 Defined Root Namespaces......................................................................................................................126
`5.3.2 Objects .......................................................................................................................................................126
`5.4 Definition Block Encoding .......................................................................................................................... 126
`5.5 Using the ACPI Control Method Source Language ............................................................................ 128
`5.5.1 ASL Statements........................................................................................................................................128
`5.5.2 ASL Macros..............................................................................................................................................129
`5.5.3 Control Method Execution .....................................................................................................................129
`5.5.4 Control Method Arguments, Local Variables, and Return Values..................................................130
`5.6 ACPI Event Programming Model............................................................................................................ 130
`5.6.1 ACPI Event Programming Model Components..................................................................................131
`5.6.2 Types of ACPI Events.............................................................................................................................132
`5.6.3 Device Object Notifications...................................................................................................................136
`5.6.4 Device Class-Specific Objects...............................................................................................................138
`5.6.5 Defined Generic Objects and Control Methods..................................................................................139
`5.7 Operating System-Defined Object Names.............................................................................................. 145
`5.7.1 \_GL (Global Lock Mutex) ....................................................................................................................145
`5.7.2 \_OS (OS Name Object) .........................................................................................................................145
`5.7.3 \_REV (Revision Data Object) ..............................................................................................................145
`5.8 System Configuration Objects................................................................................................................... 145
`5.8.1 _PIC Method.............................................................................................................................................145
`6 CONFIGURATION..............................................................................................................................................146
`6.1 Device Identification Objects ..................................................................................................................... 146
`6.1.1 _ADR (Address).......................................................................................................................................146
`6.1.2 _CID (Compatible ID) ............................................................................................................................147
`6.1.3 _DDN (Device Name).............................................................................................................................148
`6.1.4 _HID (Hardware ID) ...............................................................................................................................148
`6.1.5 _STR (String)............................................................................................................................................148
`6.1.6 _SUN (Slot User Number) .....................................................................................................................148
`6.1.7 _UID (Unique ID) ....................................................................................................................................148
`6.2 Device Configuration Objects.................................................................................................................... 149
`6.2.1 _CRS (Current Resource Settings)........................................................................................................150
`6.2.2 _DIS (Disable)..........................................................................................................................................150
`6.2.3 _DMA (Direct Memory Access)...........................................................................................................150
`6.2.4 _FIX (Fixed Register Resource Provider) ...........................................................................................151
`6.2.5 _HPP (Hot Plug Parameters)..................................................................................................................153
`6.2.6 _MAT (Multiple APIC Table Entry)....................................................................................................155
`6.2.7 _PRS (Possible Resource Settings).......................................................................................................156
`6.2.8 _PRT (PCI Routing Table).....................................................................................................................157
`6.2.9 _PXM (Proximity) ...................................................................................................................................159
`6.2.10 _SRS (Set Resource Settings)..............................................................................................................159
`
`Compaq/Intel/Microsoft/Phoenix/Toshiba
`
`0007
`
`
`
`viii
`
`6.3 Device Insertion and Removal Objects ................................................................................................... 159
`6.3.1 _EDL (Eject Device List).......................................................................................................................161
`6.3.2 _EJD (Ejection Dependent Device)......................................................................................................161
`6.3.3 _EJx (Eject)...............................................................................................................................................162
`6.3.4 _LCK (Lock).............................................................................................................................................163
`6.3.5 _RMV (Remove)......................................................................................................................................163
`6.3.6 _STA (Status)...........................................................................................................................................164
`6.4 Resource Data Types for ACPI................................................................................................................. 164
`6.4.1 ASL Macros for Resource Descriptors.................................................................................................164
`6.4.2 Small Resource Data Type .....................................................................................................................164
`6.4.3 Large Resource Data Type .....................................................................................................................171
`6.5 Other Objects and Control Methods ....................................................................................................... 191
`6.5.1 _INI (Init) ..................................................................................................................................................191
`6.5.2 _DCK (Dock)............................................................................................................................................192
`6.5.3 _BDN (BIOS Dock Name).....................................................................................................................192
`6.5.4 _REG (Region).........................................................................................................................................192
`6.5.5 _BBN (Base Bus Number) .....................................................................................................................194
`6.5.6 _SEG (Segment).......................................................................................................................................195
`6.5.7 _GLK (Global Lock) ...............................................................................................................................196
`7 POWER AND PERFORMANCE MANAGEMENT.................................................................................. 197
`7.1 Declaring a Power Resource Object ........................................................................................................ 197
`7.1.1 Defined Child Objects for a Power Resource .....................................................................................198
`7.1.2 _OFF...........................................................................................................................................................198
`7.1.3 _ON ............................................................................................................................................................199
`7.1.4 _STA (Status)...........................................................................................................................................199
`7.2 Device Power Management Objects ........................................................................................................ 199
`7.2.1 _PS0 (Power State 0)...............................................................................................................................201
`7.2.2 _PS1 (Power State 1)...............................................................................................................................201
`7.2.3 _PS2 (Power State 2)...............................................................................................................................201
`7.2.4 _PS3 (Power State 3)...............................................................................................................................201
`7.2.5 _PSC (Power State Current)...................................................................................................................202
`7.2.6 _PR0 (Power Resources for D0) ...........................................................................................................202
`7.2.7 _PR1 (Power Resources for D1) ...........................................................................................................202
`7.2.8 _PR2 (Power Resources for D2) ...........................................................................................................203
`7.2.9 _PRW (Power Resources for Wake).....................................................................................................203
`7.2.10 _PSW (Power State Wake)..................................................................................................................204
`7.2.11 _IRC (In Rush Current) ........................................................................................................................204
`7.2.12 _S1D (S1 Device State)........................................................................................................................204
`7.2.13 _S2D (S2 Device State)........................................................................................................................204
`7.2.14 _S3D (S3 Device State)........................................................................................................................204
`7.2.15 _S4D (S4 Device State)........................................................................................................................205
`7.3 OEM-Supplied System-Level Control Methods ................................................................................... 205
`7.3.1 \_BFS (Back From Sleep).......................................................................................................................205
`7.3.2 \_PTS (Prepare To Sleep) .......................................................................................................................205
`
`Compaq/Intel/Microsoft/Phoenix/Toshiba
`
`0008
`
`
`
`ix
`
`7.3.3 \_GTS (Going To Sleep) .........................................................................................................................206
`7.3.4 System \_Sx states ....................................................................................................................................206
`7.3.5 \_WAK (System Wake) ..........................................................................................................................210
`8 PROCESSOR CONTROL..................................................................................................................................211
`8.1 Processor Power States................................................................................................................................211
`8.1.1 Processor Power State C0 .............................................................................................................