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