2 ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
4 Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
13 #include "IndustryStandard/Acpi.h"
16 // Ensure proper structure formats
20 // ACPI 1.0b table structures
23 // Root System Description Pointer Structure
31 } EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER
;
34 // Root System Description Table
35 // No definition needed as it is a common description table header followed by a
36 // variable number of UINT32 table pointers.
39 // RSDT Revision (as defined in ACPI 1.0b spec.)
41 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
44 // Fixed ACPI Description Table Structure (FADT)
47 EFI_ACPI_DESCRIPTION_HEADER Header
;
87 } EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE
;
90 // FADT Version (as defined in ACPI 1.0b spec.)
92 #define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01
95 // Fixed ACPI Description Table Fixed Feature Flags
96 // All other bits are reserved and must be set to 0.
98 #define EFI_ACPI_1_0_WBINVD (1 << 0)
99 #define EFI_ACPI_1_0_WBINVD_FLUSH (1 << 1)
100 #define EFI_ACPI_1_0_PROC_C1 (1 << 2)
101 #define EFI_ACPI_1_0_P_LVL2_UP (1 << 3)
102 #define EFI_ACPI_1_0_PWR_BUTTON (1 << 4)
103 #define EFI_ACPI_1_0_SLP_BUTTON (1 << 5)
104 #define EFI_ACPI_1_0_FIX_RTC (1 << 6)
105 #define EFI_ACPI_1_0_RTC_S4 (1 << 7)
106 #define EFI_ACPI_1_0_TMR_VAL_EXT (1 << 8)
107 #define EFI_ACPI_1_0_DCK_CAP (1 << 9)
109 #define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x0
111 // Firmware ACPI Control Structure
116 UINT32 HardwareSignature
;
117 UINT32 FirmwareWakingVector
;
121 } EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE
;
124 // Firmware Control Structure Feature Flags
125 // All other bits are reserved and must be set to 0.
127 #define EFI_ACPI_1_0_S4BIOS_F (1 << 0)
130 // Multiple APIC Description Table header definition. The rest of the table
131 // must be defined in a platform specific manner.
134 EFI_ACPI_DESCRIPTION_HEADER Header
;
135 UINT32 LocalApicAddress
;
137 } EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
;
140 // MADT Revision (as defined in ACPI 1.0b spec.)
142 #define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
145 // Multiple APIC Flags
146 // All other bits are reserved and must be set to 0.
148 #define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0)
151 // Multiple APIC Description Table APIC structure types
152 // All other values between 0x09 an 0xFF are reserved and
153 // will be ignored by OSPM.
155 #define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00
156 #define EFI_ACPI_1_0_IO_APIC 0x01
157 #define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02
158 #define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
159 #define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04
162 // APIC Structure Definitions
165 // Processor Local APIC Structure Definition
170 UINT8 AcpiProcessorId
;
173 } EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE
;
176 // Local APIC Flags. All other bits are reserved and must be 0.
178 #define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0)
188 UINT32 IoApicAddress
;
189 UINT32 SystemVectorBase
;
190 } EFI_ACPI_1_0_IO_APIC_STRUCTURE
;
193 // Interrupt Source Override Structure
200 UINT32 GlobalSystemInterruptVector
;
202 } EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE
;
205 // Non-Maskable Interrupt Source Structure
211 UINT32 GlobalSystemInterruptVector
;
212 } EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE
;
215 // Local APIC NMI Structure
220 UINT8 AcpiProcessorId
;
223 } EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE
;
226 // Smart Battery Description Table (SBST)
229 EFI_ACPI_DESCRIPTION_HEADER Header
;
230 UINT32 WarningEnergyLevel
;
231 UINT32 LowEnergyLevel
;
232 UINT32 CriticalEnergyLevel
;
233 } EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE
;
236 // Known table signatures
239 // "RSD PTR " Root System Description Pointer
241 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL
244 // "APIC" Multiple APIC Description Table
246 #define EFI_ACPI_1_0_APIC_SIGNATURE 0x43495041
249 // "DSDT" Differentiated System Description Table
251 #define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344
254 // "FACS" Firmware ACPI Control Structure
256 #define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146
259 // "FACP" Fixed ACPI Description Table
261 #define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
264 // "PSDT" Persistent System Description Table
266 #define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350
269 // "RSDT" Root System Description Table
271 #define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352
274 // "SBST" Smart Battery Specification Table
276 #define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253
279 // "SSDT" Secondary System Description Table
281 #define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353