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