3 ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
5 Copyright (c) 2006 - 2007, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 // Ensure proper structure formats
24 // ACPI 1.0b table structures
27 // Root System Description Pointer Structure
35 } EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER
;
38 // Root System Description Table
39 // No definition needed as it is a common description table header followed by a
40 // variable number of UINT32 table pointers.
43 // RSDT Revision (as defined in ACPI 1.0b spec.)
45 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
48 // Fixed ACPI Description Table Structure (FADT)
51 EFI_ACPI_DESCRIPTION_HEADER Header
;
91 } EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE
;
94 // FADT Version (as defined in ACPI 1.0b spec.)
96 #define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01
99 // Fixed ACPI Description Table Fixed Feature Flags
100 // All other bits are reserved and must be set to 0.
102 #define EFI_ACPI_1_0_WBINVD (1 << 0)
103 #define EFI_ACPI_1_0_WBINVD_FLUSH (1 << 1)
104 #define EFI_ACPI_1_0_PROC_C1 (1 << 2)
105 #define EFI_ACPI_1_0_P_LVL2_UP (1 << 3)
106 #define EFI_ACPI_1_0_PWR_BUTTON (1 << 4)
107 #define EFI_ACPI_1_0_SLP_BUTTON (1 << 5)
108 #define EFI_ACPI_1_0_FIX_RTC (1 << 6)
109 #define EFI_ACPI_1_0_RTC_S4 (1 << 7)
110 #define EFI_ACPI_1_0_TMR_VAL_EXT (1 << 8)
111 #define EFI_ACPI_1_0_DCK_CAP (1 << 9)
114 // Firmware ACPI Control Structure
119 UINT32 HardwareSignature
;
120 UINT32 FirmwareWakingVector
;
124 } EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE
;
127 // Firmware Control Structure Feature Flags
128 // All other bits are reserved and must be set to 0.
130 #define EFI_ACPI_1_0_S4BIOS_F (1 << 0)
133 // Multiple APIC Description Table header definition. The rest of the table
134 // must be defined in a platform specific manner.
137 EFI_ACPI_DESCRIPTION_HEADER Header
;
138 UINT32 LocalApicAddress
;
140 } EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
;
143 // MADT Revision (as defined in ACPI 1.0b spec.)
145 #define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
148 // Multiple APIC Flags
149 // All other bits are reserved and must be set to 0.
151 #define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0)
154 // Multiple APIC Description Table APIC structure types
155 // All other values between 0x09 an 0xFF are reserved and
156 // will be ignored by OSPM.
158 #define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00
159 #define EFI_ACPI_1_0_IO_APIC 0x01
160 #define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02
161 #define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
162 #define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04
165 // APIC Structure Definitions
168 // Processor Local APIC Structure Definition
173 UINT8 AcpiProcessorId
;
176 } EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE
;
179 // Local APIC Flags. All other bits are reserved and must be 0.
181 #define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0)
191 UINT32 IoApicAddress
;
192 UINT32 SystemVectorBase
;
193 } EFI_ACPI_1_0_IO_APIC_STRUCTURE
;
196 // Interrupt Source Override Structure
203 UINT32 GlobalSystemInterruptVector
;
205 } EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE
;
208 // Non-Maskable Interrupt Source Structure
214 UINT32 GlobalSystemInterruptVector
;
215 } EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE
;
218 // Local APIC NMI Structure
223 UINT8 AcpiProcessorId
;
226 } EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE
;
229 // Smart Battery Description Table (SBST)
232 EFI_ACPI_DESCRIPTION_HEADER Header
;
233 UINT32 WarningEnergyLevel
;
234 UINT32 LowEnergyLevel
;
235 UINT32 CriticalEnergyLevel
;
236 } EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE
;
239 // Known table signatures
242 // "RSD PTR " Root System Description Pointer
244 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL
247 // "APIC" Multiple APIC Description Table
249 #define EFI_ACPI_1_0_APIC_SIGNATURE 0x43495041
252 // "DSDT" Differentiated System Description Table
254 #define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344
257 // "FACS" Firmware ACPI Control Structure
259 #define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146
262 // "FACP" Fixed ACPI Description Table
264 #define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
267 // "PSDT" Persistent System Description Table
269 #define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350
272 // "RSDT" Root System Description Table
274 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352
277 // "SBST" Smart Battery Specification Table
279 #define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253
282 // "SSDT" Secondary System Description Table
284 #define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353