1 /** @file 2 ACPI 3.0 definitions from the ACPI Specification Revision 3.0 September 2, 2004 3 4 Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> 5 6 This program and the accompanying materials are licensed and made available 7 under the terms and conditions of the BSD License which accompanies this 8 distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 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. 13 14 **/ 15 16 #ifndef _ACPI_3_0_H_ 17 #define _ACPI_3_0_H_ 18 19 #include "IndustryStandard/Acpi.h" 20 21 // 22 // Ensure proper structure formats 23 // 24 #pragma pack(1) 25 // 26 // ACPI Specification Revision 27 // 28 #define EFI_ACPI_3_0_REVISION 0x03 // BUGBUG: Not in spec yet. 29 // 30 // BUGBUG: OEM values need to be moved somewhere else, probably read from data hub 31 // and produced by a platform specific driver. 32 // 33 // 34 // ACPI 3.0 Generic Address Space definition 35 // 36 typedef struct { 37 UINT8 AddressSpaceId; 38 UINT8 RegisterBitWidth; 39 UINT8 RegisterBitOffset; 40 UINT8 AccessSize; 41 UINT64 Address; 42 } EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE; 43 44 // 45 // Generic Address Space Address IDs 46 // 47 #define EFI_ACPI_3_0_SYSTEM_MEMORY 0 48 #define EFI_ACPI_3_0_SYSTEM_IO 1 49 #define EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE 2 50 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER 3 51 #define EFI_ACPI_3_0_SMBUS 4 52 #define EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE 0x7F 53 54 // 55 // Generic Address Space Access Sizes 56 // 57 #define EFI_ACPI_3_0_UNDEFINED 0 58 #define EFI_ACPI_3_0_BYTE 1 59 #define EFI_ACPI_3_0_WORD 2 60 #define EFI_ACPI_3_0_DWORD 3 61 #define EFI_ACPI_3_0_QWORD 4 62 63 // 64 // ACPI 3.0 table structures 65 // 66 // 67 // Root System Description Pointer Structure 68 // 69 typedef struct { 70 UINT64 Signature; 71 UINT8 Checksum; 72 UINT8 OemId[6]; 73 UINT8 Revision; 74 UINT32 RsdtAddress; 75 UINT32 Length; 76 UINT64 XsdtAddress; 77 UINT8 ExtendedChecksum; 78 UINT8 Reserved[3]; 79 } EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER; 80 81 // 82 // RSD_PTR Revision (as defined in ACPI 3.0 spec.) 83 // 84 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 // ACPISpec30 (Revision 3.0 September 2, 2004) says current value is 2 85 // 86 // Common table header, this prefaces all ACPI tables, including FACS, but 87 // excluding the RSD PTR structure 88 // 89 typedef struct { 90 UINT32 Signature; 91 UINT32 Length; 92 } EFI_ACPI_3_0_COMMON_HEADER; 93 94 // 95 // Root System Description Table 96 // No definition needed as it is a common description table header followed by a 97 // variable number of UINT32 table pointers. 98 // 99 // 100 // RSDT Revision (as defined in ACPI 3.0 spec.) 101 // 102 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 103 104 // 105 // Extended System Description Table 106 // No definition needed as it is a common description table header followed by a 107 // variable number of UINT64 table pointers. 108 // 109 // 110 // XSDT Revision (as defined in ACPI 3.0 spec.) 111 // 112 #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 113 114 // 115 // Fixed ACPI Description Table Structure (FADT) 116 // 117 typedef struct { 118 EFI_ACPI_DESCRIPTION_HEADER Header; 119 UINT32 FirmwareCtrl; 120 UINT32 Dsdt; 121 UINT8 Reserved0; 122 UINT8 PreferredPmProfile; 123 UINT16 SciInt; 124 UINT32 SmiCmd; 125 UINT8 AcpiEnable; 126 UINT8 AcpiDisable; 127 UINT8 S4BiosReq; 128 UINT8 PstateCnt; 129 UINT32 Pm1aEvtBlk; 130 UINT32 Pm1bEvtBlk; 131 UINT32 Pm1aCntBlk; 132 UINT32 Pm1bCntBlk; 133 UINT32 Pm2CntBlk; 134 UINT32 PmTmrBlk; 135 UINT32 Gpe0Blk; 136 UINT32 Gpe1Blk; 137 UINT8 Pm1EvtLen; 138 UINT8 Pm1CntLen; 139 UINT8 Pm2CntLen; 140 UINT8 PmTmrLen; 141 UINT8 Gpe0BlkLen; 142 UINT8 Gpe1BlkLen; 143 UINT8 Gpe1Base; 144 UINT8 CstCnt; 145 UINT16 PLvl2Lat; 146 UINT16 PLvl3Lat; 147 UINT16 FlushSize; 148 UINT16 FlushStride; 149 UINT8 DutyOffset; 150 UINT8 DutyWidth; 151 UINT8 DayAlrm; 152 UINT8 MonAlrm; 153 UINT8 Century; 154 UINT16 IaPcBootArch; 155 UINT8 Reserved1; 156 UINT32 Flags; 157 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg; 158 UINT8 ResetValue; 159 UINT8 Reserved2[3]; 160 UINT64 XFirmwareCtrl; 161 UINT64 XDsdt; 162 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; 163 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; 164 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; 165 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; 166 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; 167 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; 168 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; 169 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; 170 } EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE; 171 172 // 173 // FADT Version (as defined in ACPI 3.0 spec.) 174 // 175 #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04 176 177 // 178 // Fixed ACPI Description Table Preferred Power Management Profile 179 // 180 #define EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED 0 181 #define EFI_ACPI_3_0_PM_PROFILE_DESKTOP 1 182 #define EFI_ACPI_3_0_PM_PROFILE_MOBILE 2 183 #define EFI_ACPI_3_0_PM_PROFILE_WORKSTATION 3 184 #define EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER 4 185 #define EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER 5 186 #define EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC 6 187 #define EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER 7 188 189 // 190 // Fixed ACPI Description Table Boot Architecture Flags 191 // All other bits are reserved and must be set to 0. 192 // 193 #define EFI_ACPI_3_0_LEGACY_DEVICES (1 << 0) 194 #define EFI_ACPI_3_0_8042 (1 << 1) 195 #define EFI_ACPI_3_0_VGA_NOT_PRESENT (1 << 2) 196 #define EFI_ACPI_3_0_MSI_NOT_SUPPORTED (1 << 3) 197 // 198 // Fixed ACPI Description Table Fixed Feature Flags 199 // All other bits are reserved and must be set to 0. 200 // 201 #define EFI_ACPI_3_0_WBINVD (1 << 0) 202 #define EFI_ACPI_3_0_WBINVD_FLUSH (1 << 1) 203 #define EFI_ACPI_3_0_PROC_C1 (1 << 2) 204 #define EFI_ACPI_3_0_P_LVL2_UP (1 << 3) 205 #define EFI_ACPI_3_0_PWR_BUTTON (1 << 4) 206 #define EFI_ACPI_3_0_SLP_BUTTON (1 << 5) 207 #define EFI_ACPI_3_0_FIX_RTC (1 << 6) 208 #define EFI_ACPI_3_0_RTC_S4 (1 << 7) 209 #define EFI_ACPI_3_0_TMR_VAL_EXT (1 << 8) 210 #define EFI_ACPI_3_0_DCK_CAP (1 << 9) 211 #define EFI_ACPI_3_0_RESET_REG_SUP (1 << 10) 212 #define EFI_ACPI_3_0_SEALED_CASE (1 << 11) 213 #define EFI_ACPI_3_0_HEADLESS (1 << 12) 214 #define EFI_ACPI_3_0_CPU_SW_SLP (1 << 13) 215 #define EFI_ACPI_3_0_PCI_EXP_WAK (1 << 14) 216 #define EFI_ACPI_3_0_USE_PLATFORM_CLOCK (1 << 15) 217 #define EFI_ACPI_3_0_S4_RTC_STS_VALID (1 << 16) 218 #define EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE (1 << 17) 219 #define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL (1 << 18) 220 #define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE (1 << 19) 221 222 // 223 // Firmware ACPI Control Structure 224 // 225 typedef struct { 226 UINT32 Signature; 227 UINT32 Length; 228 UINT32 HardwareSignature; 229 UINT32 FirmwareWakingVector; 230 UINT32 GlobalLock; 231 UINT32 Flags; 232 UINT64 XFirmwareWakingVector; 233 UINT8 Version; 234 UINT8 Reserved[31]; 235 } EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; 236 237 // 238 // FACS Version (as defined in ACPI 3.0 spec.) 239 // 240 #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01 241 242 // 243 // Firmware Control Structure Feature Flags 244 // All other bits are reserved and must be set to 0. 245 // 246 #define EFI_ACPI_3_0_S4BIOS_F (1 << 0) 247 248 // 249 // Differentiated System Description Table, 250 // Secondary System Description Table 251 // and Persistent System Description Table, 252 // no definition needed as they are common description table header followed by a 253 // definition block. 254 // 255 #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 256 #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 257 258 // 259 // Multiple APIC Description Table header definition. The rest of the table 260 // must be defined in a platform specific manner. 261 // 262 typedef struct { 263 EFI_ACPI_DESCRIPTION_HEADER Header; 264 UINT32 LocalApicAddress; 265 UINT32 Flags; 266 } EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; 267 268 // 269 // MADT Revision (as defined in ACPI 3.0 spec.) 270 // 271 #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02 272 273 // 274 // Multiple APIC Flags 275 // All other bits are reserved and must be set to 0. 276 // 277 #define EFI_ACPI_3_0_PCAT_COMPAT (1 << 0) 278 279 // 280 // Multiple APIC Description Table APIC structure types 281 // All other values between 0x09 an 0xFF are reserved and 282 // will be ignored by OSPM. 283 // 284 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC 0x00 285 #define EFI_ACPI_3_0_IO_APIC 0x01 286 #define EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE 0x02 287 #define EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03 288 #define EFI_ACPI_3_0_LOCAL_APIC_NMI 0x04 289 #define EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05 290 #define EFI_ACPI_3_0_IO_SAPIC 0x06 291 #define EFI_ACPI_3_0_LOCAL_SAPIC 0x07 292 #define EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES 0x08 293 294 // 295 // APIC Structure Definitions 296 // 297 // 298 // Processor Local APIC Structure Definition 299 // 300 typedef struct { 301 UINT8 Type; 302 UINT8 Length; 303 UINT8 AcpiProcessorId; 304 UINT8 ApicId; 305 UINT32 Flags; 306 } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE; 307 308 // 309 // Local APIC Flags. All other bits are reserved and must be 0. 310 // 311 #define EFI_ACPI_3_0_LOCAL_APIC_ENABLED (1 << 0) 312 313 // 314 // IO APIC Structure 315 // 316 typedef struct { 317 UINT8 Type; 318 UINT8 Length; 319 UINT8 IoApicId; 320 UINT8 Reserved; 321 UINT32 IoApicAddress; 322 UINT32 GlobalSystemInterruptBase; 323 } EFI_ACPI_3_0_IO_APIC_STRUCTURE; 324 325 // 326 // Interrupt Source Override Structure 327 // 328 typedef struct { 329 UINT8 Type; 330 UINT8 Length; 331 UINT8 Bus; 332 UINT8 Source; 333 UINT32 GlobalSystemInterrupt; 334 UINT16 Flags; 335 } EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; 336 337 // 338 // Platform Interrupt Sources Structure Definition 339 // 340 typedef struct { 341 UINT8 Type; 342 UINT8 Length; 343 UINT16 Flags; 344 UINT8 InterruptType; 345 UINT8 ProcessorId; 346 UINT8 ProcessorEid; 347 UINT8 IoSapicVector; 348 UINT32 GlobalSystemInterrupt; 349 UINT32 PlatformInterruptSourceFlags; 350 UINT8 CpeiProcessorOverride; 351 UINT8 Reserved[31]; 352 } EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE; 353 354 // 355 // MPS INTI flags. 356 // All other bits are reserved and must be set to 0. 357 // 358 #define EFI_ACPI_3_0_POLARITY (3 << 0) 359 #define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2) 360 361 // 362 // Non-Maskable Interrupt Source Structure 363 // 364 typedef struct { 365 UINT8 Type; 366 UINT8 Length; 367 UINT16 Flags; 368 UINT32 GlobalSystemInterrupt; 369 } EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; 370 371 // 372 // Local APIC NMI Structure 373 // 374 typedef struct { 375 UINT8 Type; 376 UINT8 Length; 377 UINT8 AcpiProcessorId; 378 UINT16 Flags; 379 UINT8 LocalApicLint; 380 } EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE; 381 382 // 383 // Local APIC Address Override Structure 384 // 385 typedef struct { 386 UINT8 Type; 387 UINT8 Length; 388 UINT16 Reserved; 389 UINT64 LocalApicAddress; 390 } EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; 391 392 // 393 // IO SAPIC Structure 394 // 395 typedef struct { 396 UINT8 Type; 397 UINT8 Length; 398 UINT8 IoApicId; 399 UINT8 Reserved; 400 UINT32 GlobalSystemInterruptBase; 401 UINT64 IoSapicAddress; 402 } EFI_ACPI_3_0_IO_SAPIC_STRUCTURE; 403 404 // 405 // Local SAPIC Structure 406 // This struct followed by a null-terminated ASCII string - ACPI Processor UID String 407 // 408 typedef struct { 409 UINT8 Type; 410 UINT8 Length; 411 UINT8 AcpiProcessorId; 412 UINT8 LocalSapicId; 413 UINT8 LocalSapicEid; 414 UINT8 Reserved[3]; 415 UINT32 Flags; 416 UINT32 ACPIProcessorUIDValue; 417 } EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; 418 419 // 420 // Platform Interrupt Sources Structure 421 // 422 typedef struct { 423 UINT8 Type; 424 UINT8 Length; 425 UINT16 Flags; 426 UINT8 InterruptType; 427 UINT8 ProcessorId; 428 UINT8 ProcessorEid; 429 UINT8 IoSapicVector; 430 UINT32 GlobalSystemInterrupt; 431 UINT32 PlatformInterruptSourceFlags; 432 } EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; 433 434 // 435 // Platform Interrupt Source Flags. 436 // All other bits are reserved and must be set to 0. 437 // 438 #define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE (1 << 0) 439 440 // 441 // Smart Battery Description Table (SBST) 442 // 443 typedef struct { 444 EFI_ACPI_DESCRIPTION_HEADER Header; 445 UINT32 WarningEnergyLevel; 446 UINT32 LowEnergyLevel; 447 UINT32 CriticalEnergyLevel; 448 } EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE; 449 450 // 451 // SBST Version (as defined in ACPI 3.0 spec.) 452 // 453 #define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01 454 455 // 456 // Embedded Controller Boot Resources Table (ECDT) 457 // The table is followed by a null terminated ASCII string that contains 458 // a fully qualified reference to the name space object. 459 // 460 typedef struct { 461 EFI_ACPI_DESCRIPTION_HEADER Header; 462 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl; 463 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData; 464 UINT32 Uid; 465 UINT8 GpeBit; 466 } EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; 467 468 // 469 // ECDT Version (as defined in ACPI 3.0 spec.) 470 // 471 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01 472 473 // 474 // System Resource Affinity Table (SRAT. The rest of the table 475 // must be defined in a platform specific manner. 476 // 477 typedef struct { 478 EFI_ACPI_DESCRIPTION_HEADER Header; 479 UINT32 Reserved1; // Must be set to 1 480 UINT64 Reserved2; 481 } EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER; 482 483 // 484 // SRAT Version (as defined in ACPI 3.0 spec.) 485 // 486 #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02 487 488 // 489 // SRAT structure types. 490 // All other values between 0x02 an 0xFF are reserved and 491 // will be ignored by OSPM. 492 // 493 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00 494 #define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01 495 496 // 497 // Processor Local APIC/SAPIC Affinity Structure Definition 498 // 499 typedef struct { 500 UINT8 Type; 501 UINT8 Length; 502 UINT8 ProximityDomain7To0; 503 UINT8 ApicId; 504 UINT32 Flags; 505 UINT8 LocalSapicEid; 506 UINT8 ProximityDomain31To8[3]; 507 UINT8 Reserved[4]; 508 } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE; 509 510 // 511 // Local APIC/SAPIC Flags. All other bits are reserved and must be 0. 512 // 513 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0) 514 515 // 516 // Memory Affinity Structure Definition 517 // 518 typedef struct { 519 UINT8 Type; 520 UINT8 Length; 521 UINT32 ProximityDomain; 522 UINT16 Reserved1; 523 UINT32 AddressBaseLow; 524 UINT32 AddressBaseHigh; 525 UINT32 LengthLow; 526 UINT32 LengthHigh; 527 UINT32 Reserved2; 528 UINT32 Flags; 529 UINT64 Reserved3; 530 } EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE; 531 532 // 533 // Memory Flags. All other bits are reserved and must be 0. 534 // 535 #define EFI_ACPI_3_0_MEMORY_ENABLED (1 << 0) 536 #define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1) 537 #define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2) 538 539 // 540 // System Locality Distance Information Table (SLIT). 541 // The rest of the table is a matrix. 542 // 543 typedef struct { 544 EFI_ACPI_DESCRIPTION_HEADER Header; 545 UINT64 NumberOfSystemLocalities; 546 } EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER; 547 548 // 549 // SLIT Version (as defined in ACPI 3.0 spec.) 550 // 551 #define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01 552 553 // 554 // Known table signatures 555 // 556 // 557 // "RSD PTR " Root System Description Pointer 558 // 559 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL 560 561 // 562 // "APIC" Multiple APIC Description Table 563 // 564 #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041 565 566 // 567 // "DSDT" Differentiated System Description Table 568 // 569 #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344 570 571 // 572 // "ECDT" Embedded Controller Boot Resources Table 573 // 574 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345 575 576 // 577 // "FACP" Fixed ACPI Description Table 578 // 579 #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146 580 581 // 582 // "FACS" Firmware ACPI Control Structure 583 // 584 #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146 585 586 // 587 // "PSDT" Persistent System Description Table 588 // 589 #define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350 590 591 // 592 // "RSDT" Root System Description Table 593 // 594 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352 595 596 // 597 // "SBST" Smart Battery Specification Table 598 // 599 #define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253 600 601 // 602 // "SLIT" System Locality Information Table 603 // 604 #define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C53 605 606 // 607 // "SRAT" System Resource Affinity Table 608 // 609 #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253 610 611 // 612 // "SSDT" Secondary System Description Table 613 // 614 #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353 615 616 // 617 // "XSDT" Extended System Description Table 618 // 619 #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445358 620 621 // 622 // "BOOT" MS Simple Boot Spec 623 // 624 #define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42 625 626 // 627 // "CPEP" Corrected Platform Error Polling Table 628 // See 629 // 630 #define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE 0x50455043 631 632 // 633 // "DBGP" MS Debug Port Spec 634 // 635 #define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244 636 637 // 638 // "ETDT" Event Timer Description Table 639 // 640 #define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE 0x54445445 641 642 // 643 // "HPET" IA-PC High Precision Event Timer Table 644 // 645 #define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE 0x54455048 646 647 // 648 // "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table 649 // 650 #define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE 0x4746434D 651 652 // 653 // "SPCR" Serial Port Concole Redirection Table 654 // 655 #define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52435053 656 657 // 658 // "SPMI" Server Platform Management Interface Table 659 // 660 #define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE 0x494D5053 661 662 // 663 // "TCPA" Trusted Computing Platform Alliance Capabilities Table 664 // 665 #define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE 0x41504354 666 667 // 668 // "WDRT" Watchdog Resource Table 669 // 670 #define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE 0x54524457 671 672 #pragma pack() 673 674 #endif 675