--- 1.0b-index Fri Sep 1 23:41:47 2000 +++ 2.0-index Fri Sep 1 23:45:16 2000 @@ -1,13 +1,15 @@ Contents -CONTENTS -1. INTRODUCTION +1 INTRODUCTION Principal Goals Power Management Rationale Legacy Support OEM Implementation Strategy Power and Sleep Buttons ACPI Specification and the Structure Of ACPI - Minimum Requirements for OSPM/ACPI Systems + OS and Platform Com + Platform Implementations of ACPI-defined Interfaces + OSPM Implementatio + OS Requirements Target Audience Document Organization ACPI Overview @@ -15,13 +17,14 @@ Implementation Details Technical Reference Related Documents -2. DEFINITION OF TERMS +2 DEFINITION OF TERMS General ACPI Terminology Global System State Definitions Device Power State Definitions Sleeping State Definitions Processor Power State Definitions -3. OVERVIEW + Device and Processor Performance State Definitions +3 OVERVIEW System Power Management Power States New Meanings for the Power Button @@ -36,24 +39,25 @@ Getting Device Power Status Waking the Computer Example: Modem Device Power Management - Getting the Modem's Power Status Processor Power Management + Device and Processor Performance States Plug and Play Example: Configuring the Modem System Events Battery Management - CMBatt Diagram - Battery Events + Battery Communications Battery Capacity Battery Gas Gauge - Thermal Management - Active and Passive Cooling - Performance vs. Silence - Other Thermal Implementations - Multiple Thermal Zones -4. ACPI HARDWARE SPECIFICATION + Low Battery Levels + Thermal Management + Active and Passive Cooling Modes + Performance vs. Energy Conservation + Acoustics + Multiple Thermal Zones +4 ACPI HARDWARE SPECIFICATION Fixed Hardware Programming Model - Generic Programming Model + Functional Fixed Hardware + Generic Hardware Programming Model Diagram Legends Register Bit Notation The ACPI Hardware Model @@ -61,27 +65,31 @@ Hardware Ignored Bits Hardware Write-Only Bits Cross Device Dependencies - ACPI Features + ACPI Hardware Features ACPI Register Model ACPI Register Summary - Required Fixed Features - Fixed Feature Space Registers - Generic Address Space -5. ACPI SOFTWARE PROGRAMMING MODEL + Fixed Hardware Features + Fixed Hardware Registers + Generic Hardware Registers +5 ACPI SOFTWARE PROGRAMMING MODEL Overview of the System Description Table Architecture - Description Table Specifications + Address Space Translation + ACPI System Description Tables Reserved Bits and Fields + Compatibility + Address Format Root System Description Pointer System Description Table Header Root System Description Table + Extended System Description Table (XSDT) Fixed ACPI Description Table Firmware ACPI Control Structure - Definition Blocks - Multiple APIC Description Table - Global System Interrupt Vectors - Smart Battery Table - ACPI Name Space - Defined Root Names Spaces + Definition Blocks + Global System + Smart Battery Table (SBST) + Embedded Controller Boot Resources Table + ACPI NameSpace + Defined Root Namespace Objects Definition Block Encoding Using the ACPI Control Method Source Language @@ -94,28 +102,35 @@ Types of ACPI Events Device Object Notifications Device Class-Specific Objects - Defined Generic Object and Control Methods - OS-Defined Object Names - \_GL Global Lock Mutex - \_OS Name object - \_REV data object + Defined Generic Objects and Control Methods + Operating System-Defined Object Names + \_GL (Global Lock Mutex) + \_OS (OS Name Object) + \_REV (Revision Data Object) System Configuration Objects _PIC Method -6. CONFIGURATION +6 CONFIGURATION Device Identification Objects _ADR _CID _DDN _HID + _STR _SUN _UID Device Configuration Objects _CRS _DIS - _PRT + _DMA + _FIX + _HPP + _MAT _PRS - _SRS + _PRT + _PXM + _SRS Device Insertion and Removal Objects + _EDL _EJD _EJx _LCK @@ -125,51 +140,55 @@ ASL Macros for Resource Descriptors Small Resource Data Type Large Resource Data Type - Other Control Methods + Other Objects and Control Methods _INI _DCK _BDN _REG _BBN + _SEG _GLK -7. POWER MANAGEMENT - Declaring a PowerResource Object +7 POWER AND PERFORMANCE MANAGEMENT + Declaring a Power Resource Object + Defined Child Objects for a Power Resource + _OFF + _ON + _STA Device Power Management Objects - _PRW - _PR0 - _PR1 - _PR2 - _S0D - _S1D - _S2D - _S3D - _S4D - _S5D - Power Resources for OFF - _IRC - _PSW - _PSC _PS0 _PS1 _PS2 _PS3 - Defined Child Objects for a Power Resource - _STA - _ON - _OFF - OEM-Supplied System Level Control Methods - \_PTS Prepare To Sleep + _PSC + _PR0 + _PR1 + _PR2 + _PRW + _PSW + _IRC + _S1D + _S2D + _S3D + _S4D + OEM-Supplied System-Level Control Methods + \_BFS + \_PTS + \_GTS System \_Sx states \_WAK (System Wake) -8. PROCESSOR CONTROL - Declaring a Processor Object +8 PROCESSOR CONTROL Processor Power States Processor Power State C0 Processor Power State C1 Processor Power State C2 Processor Power State C3 - Processor State Policy -9. WAKING AND SLEEPING + Additional Processor Power States + Flushing Caches + Declaring a Processor Object + _PTC + _CST + Processor Performance Control +9 WAKING AND SLEEPING Sleeping States S1 Sleeping State S2 Sleeping State @@ -180,31 +199,38 @@ Transitioning from the Working to the Soft Off State Flushing Caches Initialization - Turning On ACPI + Placing the System in ACPI Mode BIOS Initialization of Memory OS Loading - Turning Off ACPI -10. ACPI-SPECIFIC DEVICE OBJECTS - \_SI System Indicators + Exiting ACPI Mode +10 ACPI-SPECIFIC DEVICE OBJECTS + \_SI System Indicator _SST _MSG - Control Method Battery Device + Battery Device Control Method Lid Device _LID Control Method Power and Sleep Button Devices Embedded Controller Device Fan Device - Generic Bus Bridge Device + Generic ISA Bus Device IDE Controller Device _GTF (Get Task File) _GTM (Get Timing Mode) _STM (Set Timing Mode) - Floppy Controller Device - _FDE - Floppy Disk Enumerate -11. POWER SOURCE DEVICES + Floppy Controller Device Objects + _FDE + _FDI + _FDM + GPE Block Device + Matching Control Methods for General-Purpose Events in a GPE Block Device + Module Device + Memory Devices + Address Decoding + Example: Memory Device +11 POWER SOURCE Smart Battery Subsystems - ACPI Smart Battery Charger Requirements - ACPI Smart Battery Selector Requirements + ACPI Smart Battery Status Change Notification Requirements Smart Battery Objects Smart Battery Subsystem Control Methods Control Method Batteries @@ -213,20 +239,22 @@ AC Adapters and Power Source Objects _PSR _PCL - Power Source Name Space Example -12. THERMAL MANAGEMENT + Example: Power Source Name Space +12 THERMAL MANAGEMENT Thermal Control Active, Passive, and Critical Policies Dynamically Changing Cooling Temperatures - Hardware Thermal Events - Active Cooling Strength - Passive Cooling Equation + Detecting Temperature Changes + Active Cooling + Passive Cooling Critical Shutdown - Other Implementation Of Thermal Controllable Devices - Thermal Control Methods + Cooling Preferences + Evaluating Thermal Device Lists + Thermal Objects _ACx _ALx _CRT + _HOT _PSL _PSV _SCP @@ -234,9 +262,13 @@ _TC2 _TMP _TSP - Thermal Block and Name Space Example for One Thermal Zone - Controlling Multiple Fans in a Thermal Zone -13. ACPI EMBEDDED CONTROLLER INTERFACE SPECIFICATION + _TZD + _TZP + Thermal Zone Object Requirements + Thermal Zone Examples + Example: The Basic Thermal Zone + Example: Multiple -Speed Fans +13 ACPI EMBEDDED CONTROLLER INTERFACE SPECIFICATION Embedded Controller Interface Description Embedded Controller Register Descriptions Embedded Controller Status, EC_SC (R) @@ -262,16 +294,37 @@ SMBus Devices SMBus Device Access Restrictions SMBus Device Command Access Restriction - Defining an Embedded Controller Device in ACPI Name Space - Example EC Definition ASL Code - Defining an EC SMBus Host Controller in ACPI Name Space - Example EC SMBus Host Controller ASL-Code -14. QUERY SYSTEM ADDRESS MAP + Defining an Embedded Controller Device in ACPI Namespace + Example: EC Definition ASL Code + Defining an EC SMBus Host Controller in ACPI Namespace + Example: EC SMBus Host Controller ASL-Code +14 ACPI SYSTEM MANAGEMENT BUS INTERFACE SPECIFICATION + SMBus Overview + SMBus Slave Addresses + SMBus Protocols + SMBus Status Codes + SMBus Command Values + Declaring SMBus Host Controller Objects + Declaring SMBus Devices + Declaring SMBus Operation Regions + Declaring SMBus Fields + Declaring an SMBus Data Buffer + Using the SMBus Protocols + Read/Write Quick (SMBQuick) + Send/Receive Byte (SMBSendReceive) + Read/Write Byte (SMBByte) + Read/Write Word (SMBWord) + Read/Write Block (SMBBlock) + Process Call (SMBProcessCall) + Block Write-Read Block Process Call (SMBBlockProcessCall) +15 SYSTEM ADDRESS MAP INTERFACES INT 15H, E820H - Query System Address Map - Assumptions and Limitations + E820 Assumptions and Limitations + EFI GetMemoryMap() Boot Services Function + EFI Assumptions and Limitations Example Address Map - Sample Operating System Usage -15. ACPI SOURCE LANGUAGE (ASL) REFERENCE + Example: Operating System Usage +16 ACPI SOURCE LANGUAGE (ASL) REFERENCE ASL Language Grammar ASL Grammar Notation ASL Names @@ -280,14 +333,14 @@ ASL Names ASL Data Types ASL Terms -16. ACPI MACHINE LANGUAGE (AML) SPECIFICATION + ASL Macros for Resource Descriptors +17 ACPI MACHINE LANGUAGE (AML) SPECIFICATION Notation Conventions AML Grammar Definition - Top Level AML Name Objects Encoding Data Objects Encoding Package Length Encoding Term Objects Encoding Miscellaneous Objects Encoding AML Byte Stream Byte Values - AML Encoding of Names in the Name Space + AML Encoding of Names in the Namespace