`Power Interface Specification
`
`Hewlett-Packard Corporation
`Intel Corporation
`Microsoft Corporation
`Phoenix Technologies Ltd.
`Toshiba Corporation
`
`Revision 3.0b
`October 10, 2006
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-1
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`ii
`
`Copyright © 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-2
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`Revision
`3.0b
`Oct. 2006
`
`Change Description
`Table 5-6 changes. Added BERT, DMAR, ERST, HEST, IBFT, UEFI, &
`WAET Table signatures, corrected BOOTand TCPA table urls.
`Added PCIe ASPM Controls to Boot Architecture Flags Table 5-11
`Clarified DSDT loading.
`Clarified SSDTs are ALL loaded during init.
`Added a section describing guidelines for the ordering of processors in the
`MADT to support proper boot processor and multi-threaded logical processor
`operation.
`Clarified _STA object description.
`Clarified _INI object description.
`Clarified _CST entry type field is 1,2, or 3 only.
`Clarified _PTC ASL definition, Corrected _PTC ASL examples
`
`Clarified _PCT ASL definition.
`Added section describing PCI Bus and Segment Group Numbers under
`Module Devices
`Corrected LoadTable invocation in thermal zone with multiple devices
`example.
`Corrected RegisterTerm definition to include optional DescriptorName field.
`Corrected Buffer declaration example.
`Corrected DMA Resource Descriptor Macro Descriptor Name description.
`Corrected DWORD IO Resource Descriptor Macro Descriptor Name
`description.
`Corrected DWORD Memory Resource Descriptor Macro Descriptor Name
`description.
`Corrected DWORD Space Resource Descriptor Macro Descriptor Name
`description.
`Corrected Extended IO Resource Descriptor Macro Descriptor Name
`description.
`Corrected Extended Memory Resource Descriptor Macro Descriptor Name
`description.
`Corrected Extended Space Resource Descriptor Macro Descriptor Name
`description.
`Clarified External object ReturnType and ParamterTypes.
`Clarified Function object ParamterTypes.
`Clarified IndexField object operation.
`Corrected IO Resource Descriptor Macro Descriptor Name description.
`Corrected Interrupt Resource Descriptor Macro Descriptor Name description.
`Corrected IRQNoFlags Interrupt Resource Descriptor Macro Descriptor Name
`description.
`Clarified LoadTable is not used to load tables with “SSDT” signature.
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`iii
`
`Affected
`Sections
`5.2.6
`
`5.2.9.3
`5.,2.11.1
`5.2.11.2
`5.2.11.4.1
`
`
`6.3.7
`6.5.1
`8.4.2.1
`8.4.3.1,
`8.4.3.4
`8.4.4.1
`9.12.1
`
`11.6.3
`
`17.1.8
`17.5.9
`17.5.30
`17.5.31
`
`17.5.32
`
`17.5.33
`
`17.5.39
`
`17.5.40
`
`17.5.41
`
`17.5.42
`17.5.49
`17.5.54
`17.5.56
`17.5.57
`17.5.58
`
`17.5.68
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-3
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`iv
`
`Revision
`
`3.0a
`Dec. 2005
`
`Change Description
`Clarified Match Object SearchPackage argument and description.
`Corrected Memory24 Memory Resource Descriptor Macro Descriptor Name
`description. Corrected AddressAlignment field bits.
`Corrected Memory32 Memory Resource Descriptor Macro Descriptor Name
`description.
`Corrected Memory32Fixed Memory Resource Descriptor Macro Descriptor
`Name description.
`Clarified Method object ParamterTypes.
`Corrected QwordIO Resource Descriptor Macro Descriptor Name description.
`Corrected Qword Memory Resource Descriptor Macro Descriptor Name
`description.
`Corrected QwordSpace Resource Descriptor Macro Descriptor Name
`description.
`Added Descriptor Name argument description to Register Resource Descriptor
`Macro definition.
`Corrected VendorLong Resource Descriptor Macro Descriptor Name
`description.
`Corrected VendorShort Resource Descriptor Macro Descriptor Name
`description.
`Clarified Wait object TimeoutValue range.
`Corrected WordBusNumber Resource Descriptor Macro Descriptor Name
`description.
`Corrected WordIO Resource Descriptor Macro Descriptor Name description.
`Corrected WordSpace Resource Descriptor Macro Descriptor Name
`description.
`
`Errata corrected and clarifications added.
`Table 5-6 changes.Updated HPET web link, added WSPT and WDAT,
`updated WDRT description and web link
`Clarified that the endian-ness of data value encodings in externally defined
`data tables is specified by the external data table specifications
`Added MSI_Not_Supported bit to IA-PC Boot Architecture Flags Table 5-11
`Corrected X_Firmware_Waking_Vector description in Table 5-12
`_ADR object encoding for USB Ports clarified as 1-n in Table 6-2
`Updated and clarified _HPX object description and setting record types
`Clarified Resource Data Type descriptions – readability / usability
`Clarified Small Resource Data Type description - Tables 6-21, 6-22
`Corrected IRQ Descriptior ASL macro reference
`Corrected description text of General Flags field for _MAF and _MIF bits in
`Address Space Descriptors
`Updated _PDC ASL example invoking _OSC and accompanying description
`Corrected processor Throttling State (T-state) control interface definitions
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`Affected
`Sections
`17.5.71
`17.5.72
`
`17.5.73
`
`17.5.74
`
`17.5.75
`17.5.94
`17.5.95
`
`17.5.96
`
`17.5.98
`
`17.5.127
`
`17.5.128
`
`17.5.129
`17.5.131
`
`17.5.132
`17.5.133
`
`
`
`5.2.6
`
`5.2.6
`
`5.2.9.3
`5.2.10
`6.1.1
`6.2.7
`6.4
`6.4.2
`6.4.2.1
`6.4.3.5.1-4
`
`8.4.1
`8.4.3
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-4
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`Revision
`
`Change Description
`Clarified OSPM processing of _TPC notifies on platforms supporting P-states
`Clarified _PSS entry power field is maximum power consumed in the P-state
`Clarified _CRS encoding of registers for the GPE Block device
`Corrected OpCode definitions for DerefOfTerm and IndexTerm
`Added ProcessorObj to ObjectTypeKeyword
`Clarified Data Type Conversion Rules in Table 17-8
`Clarified creation of zero bit-length field using CreateField causes fatal
`exception
`Clarified DMA Resource Descriptor Macro DmaChannelList description
`Function object ParameterTypes description corrected. Fixed StringObj type
`in example
`Clarified Interrupt Resource Descriptor Macros InterruptList description
`Corrected Interrupt Resource Descriptor Macro description
`Corrected Package declaration
`Clarified Return object ASL syntax providing implicit zero return argument
`when no parenthesis follow the Return statement
`ToBuffer - Clarified string null terminator is copied
`Clarified ASL Resource Macros - ResourceSourceIndex and ResourceSource
`argument requirements and ASL compiler behavior
`
`Corrected AML definition - data types Const -> Data
`Removed the 200 byte length limitation on ASCII strings
`
`
`
`Clarified that definition blocks loaded by the Load operator must be in
`memory marked as AddressRangeReserved or AddressRangeNVS
`
`v
`
`Affected
`Sections
`8.4.3.3
`8.4.4.2
`9.11
`17.1.5
`17.1.7
`17.2.5.7
`17.5.19
`
`17.5.30
`17.5.49
`
`17.5.55,57,58
`17.5.57
`17.5.91
`17.5.102
`
`17.5.119
`17.5.31,32,33
`,55,94,95,96,
`131,132,133
`18.2.1
`17.2.2.2,
`17.2.5,
`17.2.5.7,
`17.5.123
`17.5.67
`
`3.0
`Sept. 2004
`
`
`2.0c
`Aug.. 2003
`
`2.0b
`Oct. 2002
`
`2.0a
`Mar. 2002
`ACPI 2.0
`Errata Doc.
`Rev. 1.5
`
`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 corrected and clarifications added.
`
`Errata corrected and clarifications added.
`
`Errata corrected and clarifications added. ACPI 2.0 Errata Document Revision
`1.0 through 1.5 integrated.
`Errata corrected and clarifications added.
`
`
`
`
`
`
`
`
`
`
`
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-5
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`vi
`
`Revision
`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
`
`
`
`Change Description
`Errata corrected and clarifications added.
`
`
`Errata corrected and clarifications added.
`
`
`Errata corrected and clarifications added.
`
`
`Errata corrected and clarifications added.
`
`
`Errata corrected 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 corrected and clarifications added. New interfaces added.
`
`Errata corrected and clarifications added. New interfaces added.
`
`Original Release.
`
`Affected
`Sections
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-6
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`vii
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-7
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`viii
`
`Contents
`..................................................................................................................................... 1
`1 INTRODUCTION
`..................................................................................................................................................... 1
`1.1 Principal Goals
`............................................................................................................................ 2
`1.2 Power Management Rationale
`1.3 Legacy Support..................................................................................................................................................... 3
`........................................................................................................................... 3
`1.4 OEM Implementation Strategy
`..................................................................................................................................... 3
`1.5 Power and Sleep Buttons
`................................................................................................ 4
`1.6 ACPI Specification and the Structure Of ACPI
`1.7 OS and Platform Compliance.............................................................................................................................. 5
`.................................................................................. 5
`1.7.1 Platform Implementations of ACPI-defined Interfaces
`................................................................................................................................. 8
`1.7.2 OSPM Implementations
`............................................................................................................................................ 9
`1.7.3 OS Requirements
`................................................................................................................................................... 9
`1.8 Target Audience
`....................................................................................................................................... 9
`1.9 Document Organization
`................................................................................................................. 10
`1.9.1 ACPI Introduction and Overview
`................................................................................................................................... 10
`1.9.2 Programming Models
`1.9.3 Implementation Details................................................................................................................................. 10
`..................................................................................................................................... 11
`1.9.4 Technical Reference
`........................................................................................................................................... 11
`1.10 Related Documents
`..................................................................................................................... 13
`2 DEFINITION OF TERMS
`.............................................................................................................................. 13
`2.1 General ACPI Terminology
`........................................................................................................................ 19
`2.2 Global System State Definitions
`.......................................................................................................................... 21
`2.3 Device Power State Definitions
`.................................................................................................................................. 22
`2.4 Sleeping State Definitions
`.................................................................................................................... 22
`2.5 Processor Power State Definitions
`...................................................................................... 23
`2.6 Device and Processor Performance State Definitions
`.................................................................................................................................. 25
`3 ACPI OVERVIEW
`.............................................................................................................................. 26
`3.1 System Power Management
`........................................................................................................................................................ 27
`3.2 Power States
`................................................................................................................................................ 28
`3.2.1 Power Button
`............................................................................................... 28
`3.2.2 Platform Power Management Characteristics
`............................................................................................................................... 29
`3.3 Device Power Management
`..................................................................................................................... 29
`3.3.1 Power Management Standards
`..................................................................................................................................... 29
`3.3.2 Device Power States
`.................................................................................................................... 30
`3.3.3 Device Power State Definitions
`.................................................................................................................................. 30
`3.4 Controlling Device Power
`............................................................................................................... 30
`3.4.1 Getting Device Power Capabilities
`......................................................................................................................... 30
`3.4.2 Setting Device Power States
`........................................................................................................................ 31
`3.4.3 Getting Device Power Status
`................................................................................................................................... 31
`3.4.4 Waking the Computer
`............................................................................................ 33
`3.4.5 Example: Modem Device Power Management
`.......................................................................................................................... 36
`3.5 Processor Power Management
`....................................................................................................... 36
`3.6 Device and Processor Performance States
`.................................................................................................................. 36
`3.7 Configuration and “Plug and Play”
`............................................................................ 37
`3.7.1 Device Configuration Example: Configuring the Modem
`............................................................................................................................................... 37
`3.7.2 NUMA Nodes
`..................................................................................................................................................... 37
`3.8 System Events
`.......................................................................................................................................... 38
`3.9 Battery Management
`.............................................................................................................................. 38
`3.9.1 Battery Communications
`........................................................................................................................................... 39
`3.9.2 Battery Capacity
`........................................................................................................................................ 39
`3.9.3 Battery Gas Gauge
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-8
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`ix
`
`...................................................................................................................................... 39
`3.9.4 Low Battery Levels
`....................................................................................................................................... 42
`3.9.5 Battery Calibration
`...................................................................................................................................... 43
`3.10 Thermal Management
`............................................................................................................ 44
`3.10.1 Active and Passive Cooling Modes
`........................................................................................................ 44
`3.10.2 Performance vs. Energy Conservation
`....................................................................................................................................... 44
`3.10.3 Acoustics (Noise)
`............................................................................................................................. 44
`3.10.4 Multiple Thermal Zones
`................................................................................................ 45
`4 ACPI HARDWARE SPECIFICATION
`............................................................................................................. 45
`4.1 Fixed Hardware Programming Model
`.......................................................................................................................... 45
`4.1.1 Functional Fixed Hardware
`......................................................................................................... 46
`4.2 Generic Hardware Programming Model
`............................................................................................................................................... 48
`4.3 Diagram Legends
`.......................................................................................................................................... 49
`4.4 Register Bit Notation
`.............................................................................................................................. 49
`4.5 The ACPI Hardware Model
`............................................................................................................................... 52
`4.5.1 Hardware Reserved Bits
`4.5.2 Hardware Ignored Bits.................................................................................................................................. 52
`............................................................................................................................ 53
`4.5.3 Hardware Write-Only Bits
`......................................................................................................................... 53
`4.5.4 Cross Device Dependencies
`.................................................................................................................................. 53
`4.6 ACPI Hardware Features
`......................................................................................................................................... 55
`4.7 ACPI Register Model
`.............................................................................................................................. 58
`4.7.1 ACPI Register Summary
`.............................................................................................................................. 60
`4.7.2 Fixed Hardware Features
`............................................................................................................................ 69
`4.7.3 Fixed Hardware Registers
`......................................................................................................................... 77
`4.7.4 Generic Hardware Registers
`................................................................................ 83
`5 ACPI SOFTWARE PROGRAMMING MODEL
`................................................................................ 83
`5.1 Overview of the System Description Table Architecture
`........................................................................................................................... 85
`5.1.1 Address Space Translation
`...................................................................................................................... 86
`5.2 ACPI System Description Tables
`.............................................................................................................................. 86
`5.2.1 Reserved Bits and Fields
`................................................................................................................................................ 87
`5.2.2 Compatibility
`............................................................................................................................................ 87
`5.2.3 Address Format
`......................................................................................................... 88
`5.2.4 Universal Uniform Identifiers (UUID)
`.................................................................................................... 88
`5.2.5 Root System Description Pointer (RSDP)
`................................................................................................................ 90
`5.2.6 System Description Table Header
`...................................................................................................... 93
`5.2.7 Root System Description Table (RSDT)
`............................................................................................... 94
`5.2.8 Extended System Description Table (XSDT)
`....................................................................................................... 95
`5.2.9 Fixed ACPI Description Table (FADT)
`.............................................................................................. 105
`5.2.10 Firmware ACPI Control Structure (FACS)
`5.2.11 Definition Blocks...................................................................................................................................... 109
`.......................................................................................................................... 121
`5.2.12 Global System Interrupts
`..................................................................................................................... 123
`5.2.13 Smart Battery Table (SBST)
`.............................................................................. 123
`5.2.14 Embedded Controller Boot Resources Table (ECDT)
`................................................................................................. 125
`5.2.15 System Resource Affinity Table (SRAT)
`............................................................................... 128
`5.2.16 System Locality Distance Information Table (SLIT)
`.............................................................................................................................................. 130
`5.3 ACPI Namespace
`..................................................................................................................... 132
`5.3.1 Predefined Root Namespaces
`........................................................................................................................................................ 132
`5.3.2 Objects
`............................................................................................................................... 132
`5.4 Definition Block Encoding
`...................................................................................... 134
`5.5 Using the ACPI Control Method Source Language
`.......................................................................................................................................... 134
`5.5.1 ASL Statements
`......................................................................................................................... 135
`5.5.2 Control Method Execution
`.................................................................................................................. 136
`5.6 ACPI Event Programming Model
`.......................................................................................... 137
`5.6.1 ACPI Event Programming Model Components
`................................................................................................................................ 137
`5.6.2 Types of ACPI Events
`....................................................................................................................... 142
`5.6.3 Device Object Notifications
`
`Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba
`
`VLSI TECHNOLOGY LLC, Ex. 2008
`Page 2008-9
`Case IPR2018-01038; Intel Corp. v. VLSI Technology LLC
`
`
`
`x
`
`.................................................................................................................... 145
`5.6.4 Device Class-Specific Objects
`.......................................................................................... 147
`5.6.5 Defined Generic Objects and Control Methods
`........................................................................................................................................... 154
`5.7 Predefined Objects
`......................................................................................................................... 155
`5.7.1 \_GL (Global Lock Mutex)
`.......................................................................................................... 155
`5.7.2 \_OSI (Operating System Interfaces)
`............................................................................................................................. 158
`5.7.3 \_OS (OS Name Object)
`................................................................................................................... 158
`5.7.4 \_REV (Revision Data Object)
`5.8 System Configuration Objects......................................................................................................................... 159
`.............................................................................................................................................. 159
`5.8.1 _PIC Method
`.............................................................................................................................. 160
`6 CONFIGURATION
`.......................................................................................................................... 160
`6.1 Device Identification Objects
`......................................................................................................................................... 160
`6.1.1 _ADR (Address)
`................................................................................................................................ 161
`6.1.2 _CID (Compatible ID)
`....................................................................................................................... 162
`6.1.3 _DDN (DOS Device Name)
`.................................................................................................................................. 162
`6.1.4 _HID (Hardware ID)
`............................................................................................................. 163
`6.1.5 _MLS (Multiple Language String)
`.............................................................................................................. 163
`6.1.6 _PLD (Physical Device Location)
`............................................................................................................................................. 165
`6.1.7 _STR (String)
`......................................................................................................................... 165
`6.1.8 _SUN (Slot User Number)
`...................................................................................................................................... 166
`6.1.9 _UID (Unique ID)
`......................................................................................................................... 166
`6.2 Device Configuration Objects
`............................................................................................................. 167
`6.2.1 _CRS (Current Resource Settings)
`............................................................................................................................................ 167
`6.2.2 _DIS (Disable)
`................................................................................................................ 168
`6.2.3 _DMA (Direct Memory Access)
`.................................................................................................. 170
`6.2.4 _FIX (Fixed Register Resource Provider)
`........................................................................................................ 171
`6.2.5 _GSB (Global System Interrupt Base)
`...................................................................................................................... 172
`6.2.6 _HPP (Hot Plug Parameters)
`..................................................................................................... 174
`6.2.7 _HPX (Hot Plug Parameter Extensions)
`.......................................................................................................... 178
`6.2.8 _MAT (Multiple APIC Table Entry)
`...................................................................................................... 179
`6.2.9 _OSC (Operating System Capabilities)
`6.2.10 _PRS (Possible Resource Settings)........................................................................................................... 187
`....................................................................................................................... 187
`6.2.11 _PRT (PCI Routing Table)
`.................................................................................................................................... 189
`6.2.12 _PXM (Proximity)
`......................................................................................................... 189
`6.2.13 _SLI (System Locality Information)
`.........................