1 /** 2 Based on IndustryStandard/Acpi30.h, original notice: 3 4 ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006 5 6 Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved. 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 **/ 15 module uefi.acpi30; 16 import uefi.base; 17 import uefi.base_type; 18 import uefi.acpiaml; 19 import uefi.acpi10; 20 import uefi.acpi20; 21 22 public: 23 extern (C): 24 // FIXME: INCLUDE <IndustryStandard/Acpi20.h> 25 enum ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME = 0x0B; 26 enum ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR = 0x8B; 27 /// Extended Address Space Descriptor 28 struct EFI_ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR 29 { 30 align(1): 31 ACPI_LARGE_RESOURCE_HEADER Header; 32 UINT8 ResType; 33 UINT8 GenFlag; 34 UINT8 SpecificFlag; 35 UINT8 RevisionId; 36 UINT8 Reserved; 37 UINT64 AddrSpaceGranularity; 38 UINT64 AddrRangeMin; 39 UINT64 AddrRangeMax; 40 UINT64 AddrTranslationOffset; 41 UINT64 AddrLen; 42 UINT64 TypeSpecificAttribute; 43 } 44 45 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UC = 0x0000000000000001; 46 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WC = 0x0000000000000002; 47 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WT = 0x0000000000000004; 48 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WB = 0x0000000000000008; 49 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UCE = 0x0000000000000010; 50 enum EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_NV = 0x0000000000008000; 51 /// ACPI 3.0 Generic Address Space definition 52 struct EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE 53 { 54 align(1): 55 UINT8 AddressSpaceId; 56 UINT8 RegisterBitWidth; 57 UINT8 RegisterBitOffset; 58 UINT8 AccessSize; 59 UINT64 Address; 60 } 61 62 enum EFI_ACPI_3_0_SYSTEM_MEMORY = 0; 63 enum EFI_ACPI_3_0_SYSTEM_IO = 1; 64 enum EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE = 2; 65 enum EFI_ACPI_3_0_EMBEDDED_CONTROLLER = 3; 66 enum EFI_ACPI_3_0_SMBUS = 4; 67 enum EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE = 0x7F; 68 enum EFI_ACPI_3_0_UNDEFINED = 0; 69 enum EFI_ACPI_3_0_BYTE = 1; 70 enum EFI_ACPI_3_0_WORD = 2; 71 enum EFI_ACPI_3_0_DWORD = 3; 72 enum EFI_ACPI_3_0_QWORD = 4; 73 /// Root System Description Pointer Structure 74 struct EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER 75 { 76 align(1): 77 UINT64 Signature; 78 UINT8 Checksum; 79 UINT8[6] OemId; 80 UINT8 Revision; 81 UINT32 RsdtAddress; 82 UINT32 Length; 83 UINT64 XsdtAddress; 84 UINT8 ExtendedChecksum; 85 UINT8[3] Reserved; 86 } 87 /// RSD_PTR Revision (as defined in ACPI 3.0b spec.) 88 enum EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION = 0x02; ///< ACPISpec (Revision 3.0b) says current value is 2 89 /// Common table header, this prefaces all ACPI tables, including FACS, but 90 /// excluding the RSD PTR structure 91 struct EFI_ACPI_3_0_COMMON_HEADER 92 { 93 align(1): 94 UINT32 Signature; 95 UINT32 Length; 96 } 97 /// RSDT Revision (as defined in ACPI 3.0 spec.) 98 enum EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION = 0x01; 99 /// XSDT Revision (as defined in ACPI 3.0 spec.) 100 enum EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION = 0x01; 101 /// Fixed ACPI Description Table Structure (FADT) 102 struct EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE 103 { 104 align(1): 105 EFI_ACPI_DESCRIPTION_HEADER Header; 106 UINT32 FirmwareCtrl; 107 UINT32 Dsdt; 108 UINT8 Reserved0; 109 UINT8 PreferredPmProfile; 110 UINT16 SciInt; 111 UINT32 SmiCmd; 112 UINT8 AcpiEnable; 113 UINT8 AcpiDisable; 114 UINT8 S4BiosReq; 115 UINT8 PstateCnt; 116 UINT32 Pm1aEvtBlk; 117 UINT32 Pm1bEvtBlk; 118 UINT32 Pm1aCntBlk; 119 UINT32 Pm1bCntBlk; 120 UINT32 Pm2CntBlk; 121 UINT32 PmTmrBlk; 122 UINT32 Gpe0Blk; 123 UINT32 Gpe1Blk; 124 UINT8 Pm1EvtLen; 125 UINT8 Pm1CntLen; 126 UINT8 Pm2CntLen; 127 UINT8 PmTmrLen; 128 UINT8 Gpe0BlkLen; 129 UINT8 Gpe1BlkLen; 130 UINT8 Gpe1Base; 131 UINT8 CstCnt; 132 UINT16 PLvl2Lat; 133 UINT16 PLvl3Lat; 134 UINT16 FlushSize; 135 UINT16 FlushStride; 136 UINT8 DutyOffset; 137 UINT8 DutyWidth; 138 UINT8 DayAlrm; 139 UINT8 MonAlrm; 140 UINT8 Century; 141 UINT16 IaPcBootArch; 142 UINT8 Reserved1; 143 UINT32 Flags; 144 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg; 145 UINT8 ResetValue; 146 UINT8[3] Reserved2; 147 UINT64 XFirmwareCtrl; 148 UINT64 XDsdt; 149 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; 150 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; 151 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; 152 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; 153 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; 154 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; 155 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; 156 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; 157 } 158 /// FADT Version (as defined in ACPI 3.0 spec.) 159 enum EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION = 0x04; 160 enum EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED = 0; 161 enum EFI_ACPI_3_0_PM_PROFILE_DESKTOP = 1; 162 enum EFI_ACPI_3_0_PM_PROFILE_MOBILE = 2; 163 enum EFI_ACPI_3_0_PM_PROFILE_WORKSTATION = 3; 164 enum EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER = 4; 165 enum EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER = 5; 166 enum EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC = 6; 167 enum EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER = 7; 168 enum EFI_ACPI_3_0_LEGACY_DEVICES = BIT0; 169 enum EFI_ACPI_3_0_8042 = BIT1; 170 enum EFI_ACPI_3_0_VGA_NOT_PRESENT = BIT2; 171 enum EFI_ACPI_3_0_MSI_NOT_SUPPORTED = BIT3; 172 enum EFI_ACPI_3_0_PCIE_ASPM_CONTROLS = BIT4; 173 enum EFI_ACPI_3_0_WBINVD = BIT0; 174 enum EFI_ACPI_3_0_WBINVD_FLUSH = BIT1; 175 enum EFI_ACPI_3_0_PROC_C1 = BIT2; 176 enum EFI_ACPI_3_0_P_LVL2_UP = BIT3; 177 enum EFI_ACPI_3_0_PWR_BUTTON = BIT4; 178 enum EFI_ACPI_3_0_SLP_BUTTON = BIT5; 179 enum EFI_ACPI_3_0_FIX_RTC = BIT6; 180 enum EFI_ACPI_3_0_RTC_S4 = BIT7; 181 enum EFI_ACPI_3_0_TMR_VAL_EXT = BIT8; 182 enum EFI_ACPI_3_0_DCK_CAP = BIT9; 183 enum EFI_ACPI_3_0_RESET_REG_SUP = BIT10; 184 enum EFI_ACPI_3_0_SEALED_CASE = BIT11; 185 enum EFI_ACPI_3_0_HEADLESS = BIT12; 186 enum EFI_ACPI_3_0_CPU_SW_SLP = BIT13; 187 enum EFI_ACPI_3_0_PCI_EXP_WAK = BIT14; 188 enum EFI_ACPI_3_0_USE_PLATFORM_CLOCK = BIT15; 189 enum EFI_ACPI_3_0_S4_RTC_STS_VALID = BIT16; 190 enum EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE = BIT17; 191 enum EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL = BIT18; 192 enum EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE = BIT19; 193 /// Firmware ACPI Control Structure 194 struct EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE 195 { 196 align(1): 197 UINT32 Signature; 198 UINT32 Length; 199 UINT32 HardwareSignature; 200 UINT32 FirmwareWakingVector; 201 UINT32 GlobalLock; 202 UINT32 Flags; 203 UINT64 XFirmwareWakingVector; 204 UINT8 Version; 205 UINT8[31] Reserved; 206 } 207 /// FACS Version (as defined in ACPI 3.0 spec.) 208 enum EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION = 0x01; 209 /// Firmware Control Structure Feature Flags 210 /// All other bits are reserved and must be set to 0. 211 enum EFI_ACPI_3_0_S4BIOS_F = BIT0; 212 enum EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION = 0x02; 213 enum EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION = 0x02; 214 /// Multiple APIC Description Table header definition. The rest of the table 215 /// must be defined in a platform specific manner. 216 struct EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER 217 { 218 align(1): 219 EFI_ACPI_DESCRIPTION_HEADER Header; 220 UINT32 LocalApicAddress; 221 UINT32 Flags; 222 } 223 /// MADT Revision (as defined in ACPI 3.0 spec.) 224 enum EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION = 0x02; 225 /// Multiple APIC Flags 226 /// All other bits are reserved and must be set to 0. 227 enum EFI_ACPI_3_0_PCAT_COMPAT = BIT0; 228 enum EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC = 0x00; 229 enum EFI_ACPI_3_0_IO_APIC = 0x01; 230 enum EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE = 0x02; 231 enum EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE = 0x03; 232 enum EFI_ACPI_3_0_LOCAL_APIC_NMI = 0x04; 233 enum EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE = 0x05; 234 enum EFI_ACPI_3_0_IO_SAPIC = 0x06; 235 enum EFI_ACPI_3_0_LOCAL_SAPIC = 0x07; 236 enum EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES = 0x08; 237 /// Processor Local APIC Structure Definition 238 struct EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE 239 { 240 align(1): 241 UINT8 Type; 242 UINT8 Length; 243 UINT8 AcpiProcessorId; 244 UINT8 ApicId; 245 UINT32 Flags; 246 } 247 /// Local APIC Flags. All other bits are reserved and must be 0. 248 enum EFI_ACPI_3_0_LOCAL_APIC_ENABLED = BIT0; 249 /// IO APIC Structure 250 struct EFI_ACPI_3_0_IO_APIC_STRUCTURE 251 { 252 align(1): 253 UINT8 Type; 254 UINT8 Length; 255 UINT8 IoApicId; 256 UINT8 Reserved; 257 UINT32 IoApicAddress; 258 UINT32 GlobalSystemInterruptBase; 259 } 260 /// Interrupt Source Override Structure 261 struct EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE 262 { 263 align(1): 264 UINT8 Type; 265 UINT8 Length; 266 UINT8 Bus; 267 UINT8 Source; 268 UINT32 GlobalSystemInterrupt; 269 UINT16 Flags; 270 } 271 /// Platform Interrupt Sources Structure Definition 272 struct EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE 273 { 274 align(1): 275 UINT8 Type; 276 UINT8 Length; 277 UINT16 Flags; 278 UINT8 InterruptType; 279 UINT8 ProcessorId; 280 UINT8 ProcessorEid; 281 UINT8 IoSapicVector; 282 UINT32 GlobalSystemInterrupt; 283 UINT32 PlatformInterruptSourceFlags; 284 UINT8 CpeiProcessorOverride; 285 UINT8[31] Reserved; 286 } 287 288 enum EFI_ACPI_3_0_POLARITY = (3 << 0); 289 enum EFI_ACPI_3_0_TRIGGER_MODE = (3 << 2); 290 /// Non-Maskable Interrupt Source Structure 291 struct EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE 292 { 293 align(1): 294 UINT8 Type; 295 UINT8 Length; 296 UINT16 Flags; 297 UINT32 GlobalSystemInterrupt; 298 } 299 /// Local APIC NMI Structure 300 struct EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE 301 { 302 align(1): 303 UINT8 Type; 304 UINT8 Length; 305 UINT8 AcpiProcessorId; 306 UINT16 Flags; 307 UINT8 LocalApicLint; 308 } 309 /// Local APIC Address Override Structure 310 struct EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE 311 { 312 align(1): 313 UINT8 Type; 314 UINT8 Length; 315 UINT16 Reserved; 316 UINT64 LocalApicAddress; 317 } 318 /// IO SAPIC Structure 319 struct EFI_ACPI_3_0_IO_SAPIC_STRUCTURE 320 { 321 align(1): 322 UINT8 Type; 323 UINT8 Length; 324 UINT8 IoApicId; 325 UINT8 Reserved; 326 UINT32 GlobalSystemInterruptBase; 327 UINT64 IoSapicAddress; 328 } 329 /// Local SAPIC Structure 330 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String 331 struct EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE 332 { 333 align(1): 334 UINT8 Type; 335 UINT8 Length; 336 UINT8 AcpiProcessorId; 337 UINT8 LocalSapicId; 338 UINT8 LocalSapicEid; 339 UINT8[3] Reserved; 340 UINT32 Flags; 341 UINT32 ACPIProcessorUIDValue; 342 } 343 /// Platform Interrupt Sources Structure 344 struct EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE 345 { 346 align(1): 347 UINT8 Type; 348 UINT8 Length; 349 UINT16 Flags; 350 UINT8 InterruptType; 351 UINT8 ProcessorId; 352 UINT8 ProcessorEid; 353 UINT8 IoSapicVector; 354 UINT32 GlobalSystemInterrupt; 355 UINT32 PlatformInterruptSourceFlags; 356 } 357 /// Platform Interrupt Source Flags. 358 /// All other bits are reserved and must be set to 0. 359 enum EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE = BIT0; 360 /// Smart Battery Description Table (SBST) 361 struct EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE 362 { 363 align(1): 364 EFI_ACPI_DESCRIPTION_HEADER Header; 365 UINT32 WarningEnergyLevel; 366 UINT32 LowEnergyLevel; 367 UINT32 CriticalEnergyLevel; 368 } 369 /// SBST Version (as defined in ACPI 3.0 spec.) 370 enum EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION = 0x01; 371 /// Embedded Controller Boot Resources Table (ECDT) 372 /// The table is followed by a null terminated ASCII string that contains 373 /// a fully qualified reference to the name space object. 374 struct EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE 375 { 376 align(1): 377 EFI_ACPI_DESCRIPTION_HEADER Header; 378 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl; 379 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData; 380 UINT32 Uid; 381 UINT8 GpeBit; 382 } 383 /// ECDT Version (as defined in ACPI 3.0 spec.) 384 enum EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION = 0x01; 385 /// System Resource Affinity Table (SRAT. The rest of the table 386 /// must be defined in a platform specific manner. 387 struct EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER 388 { 389 align(1): 390 EFI_ACPI_DESCRIPTION_HEADER Header; 391 UINT32 Reserved1; ///< Must be set to 1 392 UINT64 Reserved2; 393 } 394 /// SRAT Version (as defined in ACPI 3.0 spec.) 395 enum EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION = 0x02; 396 enum EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY = 0x00; 397 enum EFI_ACPI_3_0_MEMORY_AFFINITY = 0x01; 398 /// Processor Local APIC/SAPIC Affinity Structure Definition 399 struct EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE 400 { 401 align(1): 402 UINT8 Type; 403 UINT8 Length; 404 UINT8 ProximityDomain7To0; 405 UINT8 ApicId; 406 UINT32 Flags; 407 UINT8 LocalSapicEid; 408 UINT8[3] ProximityDomain31To8; 409 UINT8[4] Reserved; 410 } 411 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0. 412 enum EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED = (1 << 0); 413 /// Memory Affinity Structure Definition 414 struct EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE 415 { 416 align(1): 417 UINT8 Type; 418 UINT8 Length; 419 UINT32 ProximityDomain; 420 UINT16 Reserved1; 421 UINT32 AddressBaseLow; 422 UINT32 AddressBaseHigh; 423 UINT32 LengthLow; 424 UINT32 LengthHigh; 425 UINT32 Reserved2; 426 UINT32 Flags; 427 UINT64 Reserved3; 428 } 429 430 enum EFI_ACPI_3_0_MEMORY_ENABLED = (1 << 0); 431 enum EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE = (1 << 1); 432 enum EFI_ACPI_3_0_MEMORY_NONVOLATILE = (1 << 2); 433 /// System Locality Distance Information Table (SLIT). 434 /// The rest of the table is a matrix. 435 struct EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER 436 { 437 align(1): 438 EFI_ACPI_DESCRIPTION_HEADER Header; 439 UINT64 NumberOfSystemLocalities; 440 } 441 /// SLIT Version (as defined in ACPI 3.0 spec.) 442 enum EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION = 0x01; 443 /// "RSD PTR " Root System Description Pointer 444 enum EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE = SIGNATURE_64('R', 445 'S', 'D', ' ', 'P', 'T', 'R', ' '); 446 /// "APIC" Multiple APIC Description Table 447 enum EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('A', 'P', 448 'I', 'C'); 449 /// "DSDT" Differentiated System Description Table 450 enum EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32( 451 'D', 'S', 'D', 'T'); 452 /// "ECDT" Embedded Controller Boot Resources Table 453 enum EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE = SIGNATURE_32( 454 'E', 'C', 'D', 'T'); 455 /// "FACP" Fixed ACPI Description Table 456 enum EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('F', 'A', 'C', 457 'P'); 458 /// "FACS" Firmware ACPI Control Structure 459 enum EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE = SIGNATURE_32('F', 'A', 460 'C', 'S'); 461 /// "PSDT" Persistent System Description Table 462 enum EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('P', 463 'S', 'D', 'T'); 464 /// "RSDT" Root System Description Table 465 enum EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('R', 'S', 466 'D', 'T'); 467 /// "SBST" Smart Battery Specification Table 468 enum EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE = SIGNATURE_32('S', 'B', 469 'S', 'T'); 470 /// "SLIT" System Locality Information Table 471 enum EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE = SIGNATURE_32('S', 'L', 472 'I', 'T'); 473 /// "SRAT" System Resource Affinity Table 474 enum EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE = SIGNATURE_32('S', 'R', 475 'A', 'T'); 476 /// "SSDT" Secondary System Description Table 477 enum EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('S', 478 'S', 'D', 'T'); 479 /// "XSDT" Extended System Description Table 480 enum EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('X', 'S', 481 'D', 'T'); 482 /// "BOOT" MS Simple Boot Spec 483 enum EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE = SIGNATURE_32('B', 'O', 'O', 'T'); 484 /// "CPEP" Corrected Platform Error Polling Table 485 enum EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE = SIGNATURE_32( 486 'C', 'P', 'E', 'P'); 487 /// "DBGP" MS Debug Port Spec 488 enum EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE = SIGNATURE_32('D', 'B', 'G', 'P'); 489 /// "ETDT" Event Timer Description Table 490 enum EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32('E', 'T', 491 'D', 'T'); 492 /// "HPET" IA-PC High Precision Event Timer Table 493 enum EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE = SIGNATURE_32('H', 'P', 494 'E', 'T'); 495 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table 496 enum EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE = SIGNATURE_32( 497 'M', 'C', 'F', 'G'); 498 /// "SPCR" Serial Port Concole Redirection Table 499 enum EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE = SIGNATURE_32('S', 500 'P', 'C', 'R'); 501 /// "SPMI" Server Platform Management Interface Table 502 enum EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE = SIGNATURE_32( 503 'S', 'P', 'M', 'I'); 504 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table 505 enum EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE = SIGNATURE_32( 506 'T', 'C', 'P', 'A'); 507 /// "WDRT" Watchdog Resource Table 508 enum EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE = SIGNATURE_32('W', 'D', 'R', 'T'); 509 /// "WDAT" Watchdog Action Table 510 enum EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE = SIGNATURE_32('W', 'D', 'A', 'T'); 511 /// "WSPT" Windows Specific Properties Table 512 enum EFI_ACPI_3_0_WINDOWS_SPECIFIC_PROPERTIES_TABLE_SIGNATURE = SIGNATURE_32('W', 'S', 513 'P', 'T'); 514 /// "iBFT" iSCSI Boot Firmware Table 515 enum EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE = SIGNATURE_32('i', 'B', 'F', 516 'T');