10d1ba665SWarner Losh /** @file 20d1ba665SWarner Losh ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006 30d1ba665SWarner Losh 4*3245fa21SMitchell Horne Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 5*3245fa21SMitchell Horne SPDX-License-Identifier: BSD-2-Clause-Patent 60d1ba665SWarner Losh **/ 70d1ba665SWarner Losh 80d1ba665SWarner Losh #ifndef _ACPI_3_0_H_ 90d1ba665SWarner Losh #define _ACPI_3_0_H_ 100d1ba665SWarner Losh 110d1ba665SWarner Losh #include <IndustryStandard/Acpi20.h> 120d1ba665SWarner Losh 130d1ba665SWarner Losh // 14*3245fa21SMitchell Horne // Define for Descriptor 150d1ba665SWarner Losh // 160d1ba665SWarner Losh #define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B 170d1ba665SWarner Losh 180d1ba665SWarner Losh #define ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR 0x8B 190d1ba665SWarner Losh 200d1ba665SWarner Losh // 210d1ba665SWarner Losh // Ensure proper structure formats 220d1ba665SWarner Losh // 230d1ba665SWarner Losh #pragma pack(1) 240d1ba665SWarner Losh 250d1ba665SWarner Losh /// 260d1ba665SWarner Losh /// Extended Address Space Descriptor 270d1ba665SWarner Losh /// 280d1ba665SWarner Losh typedef PACKED struct { 290d1ba665SWarner Losh ACPI_LARGE_RESOURCE_HEADER Header; 300d1ba665SWarner Losh UINT8 ResType; 310d1ba665SWarner Losh UINT8 GenFlag; 320d1ba665SWarner Losh UINT8 SpecificFlag; 330d1ba665SWarner Losh UINT8 RevisionId; 340d1ba665SWarner Losh UINT8 Reserved; 350d1ba665SWarner Losh UINT64 AddrSpaceGranularity; 360d1ba665SWarner Losh UINT64 AddrRangeMin; 370d1ba665SWarner Losh UINT64 AddrRangeMax; 380d1ba665SWarner Losh UINT64 AddrTranslationOffset; 390d1ba665SWarner Losh UINT64 AddrLen; 400d1ba665SWarner Losh UINT64 TypeSpecificAttribute; 410d1ba665SWarner Losh } EFI_ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR; 420d1ba665SWarner Losh 430d1ba665SWarner Losh #pragma pack() 440d1ba665SWarner Losh 450d1ba665SWarner Losh // 460d1ba665SWarner Losh // Memory Type Specific Flags 470d1ba665SWarner Losh // 480d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UC 0x0000000000000001 490d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WC 0x0000000000000002 500d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WT 0x0000000000000004 510d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WB 0x0000000000000008 520d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UCE 0x0000000000000010 530d1ba665SWarner Losh #define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_NV 0x0000000000008000 540d1ba665SWarner Losh 550d1ba665SWarner Losh // 560d1ba665SWarner Losh // Ensure proper structure formats 570d1ba665SWarner Losh // 580d1ba665SWarner Losh #pragma pack(1) 590d1ba665SWarner Losh 600d1ba665SWarner Losh /// 610d1ba665SWarner Losh /// ACPI 3.0 Generic Address Space definition 620d1ba665SWarner Losh /// 630d1ba665SWarner Losh typedef struct { 640d1ba665SWarner Losh UINT8 AddressSpaceId; 650d1ba665SWarner Losh UINT8 RegisterBitWidth; 660d1ba665SWarner Losh UINT8 RegisterBitOffset; 670d1ba665SWarner Losh UINT8 AccessSize; 680d1ba665SWarner Losh UINT64 Address; 690d1ba665SWarner Losh } EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE; 700d1ba665SWarner Losh 710d1ba665SWarner Losh // 720d1ba665SWarner Losh // Generic Address Space Address IDs 730d1ba665SWarner Losh // 740d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_MEMORY 0 750d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_IO 1 760d1ba665SWarner Losh #define EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE 2 770d1ba665SWarner Losh #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER 3 780d1ba665SWarner Losh #define EFI_ACPI_3_0_SMBUS 4 790d1ba665SWarner Losh #define EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE 0x7F 800d1ba665SWarner Losh 810d1ba665SWarner Losh // 820d1ba665SWarner Losh // Generic Address Space Access Sizes 830d1ba665SWarner Losh // 840d1ba665SWarner Losh #define EFI_ACPI_3_0_UNDEFINED 0 850d1ba665SWarner Losh #define EFI_ACPI_3_0_BYTE 1 860d1ba665SWarner Losh #define EFI_ACPI_3_0_WORD 2 870d1ba665SWarner Losh #define EFI_ACPI_3_0_DWORD 3 880d1ba665SWarner Losh #define EFI_ACPI_3_0_QWORD 4 890d1ba665SWarner Losh 900d1ba665SWarner Losh // 910d1ba665SWarner Losh // ACPI 3.0 table structures 920d1ba665SWarner Losh // 930d1ba665SWarner Losh 940d1ba665SWarner Losh /// 950d1ba665SWarner Losh /// Root System Description Pointer Structure 960d1ba665SWarner Losh /// 970d1ba665SWarner Losh typedef struct { 980d1ba665SWarner Losh UINT64 Signature; 990d1ba665SWarner Losh UINT8 Checksum; 1000d1ba665SWarner Losh UINT8 OemId[6]; 1010d1ba665SWarner Losh UINT8 Revision; 1020d1ba665SWarner Losh UINT32 RsdtAddress; 1030d1ba665SWarner Losh UINT32 Length; 1040d1ba665SWarner Losh UINT64 XsdtAddress; 1050d1ba665SWarner Losh UINT8 ExtendedChecksum; 1060d1ba665SWarner Losh UINT8 Reserved[3]; 1070d1ba665SWarner Losh } EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER; 1080d1ba665SWarner Losh 1090d1ba665SWarner Losh /// 1100d1ba665SWarner Losh /// RSD_PTR Revision (as defined in ACPI 3.0b spec.) 1110d1ba665SWarner Losh /// 1120d1ba665SWarner Losh #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 3.0b) says current value is 2 1130d1ba665SWarner Losh 1140d1ba665SWarner Losh /// 1150d1ba665SWarner Losh /// Common table header, this prefaces all ACPI tables, including FACS, but 1160d1ba665SWarner Losh /// excluding the RSD PTR structure 1170d1ba665SWarner Losh /// 1180d1ba665SWarner Losh typedef struct { 1190d1ba665SWarner Losh UINT32 Signature; 1200d1ba665SWarner Losh UINT32 Length; 1210d1ba665SWarner Losh } EFI_ACPI_3_0_COMMON_HEADER; 1220d1ba665SWarner Losh 1230d1ba665SWarner Losh // 1240d1ba665SWarner Losh // Root System Description Table 1250d1ba665SWarner Losh // No definition needed as it is a common description table header, the same with 1260d1ba665SWarner Losh // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers. 1270d1ba665SWarner Losh // 1280d1ba665SWarner Losh 1290d1ba665SWarner Losh /// 1300d1ba665SWarner Losh /// RSDT Revision (as defined in ACPI 3.0 spec.) 1310d1ba665SWarner Losh /// 1320d1ba665SWarner Losh #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 1330d1ba665SWarner Losh 1340d1ba665SWarner Losh // 1350d1ba665SWarner Losh // Extended System Description Table 1360d1ba665SWarner Losh // No definition needed as it is a common description table header, the same with 1370d1ba665SWarner Losh // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers. 1380d1ba665SWarner Losh // 1390d1ba665SWarner Losh 1400d1ba665SWarner Losh /// 1410d1ba665SWarner Losh /// XSDT Revision (as defined in ACPI 3.0 spec.) 1420d1ba665SWarner Losh /// 1430d1ba665SWarner Losh #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 1440d1ba665SWarner Losh 1450d1ba665SWarner Losh /// 1460d1ba665SWarner Losh /// Fixed ACPI Description Table Structure (FADT) 1470d1ba665SWarner Losh /// 1480d1ba665SWarner Losh typedef struct { 1490d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 1500d1ba665SWarner Losh UINT32 FirmwareCtrl; 1510d1ba665SWarner Losh UINT32 Dsdt; 1520d1ba665SWarner Losh UINT8 Reserved0; 1530d1ba665SWarner Losh UINT8 PreferredPmProfile; 1540d1ba665SWarner Losh UINT16 SciInt; 1550d1ba665SWarner Losh UINT32 SmiCmd; 1560d1ba665SWarner Losh UINT8 AcpiEnable; 1570d1ba665SWarner Losh UINT8 AcpiDisable; 1580d1ba665SWarner Losh UINT8 S4BiosReq; 1590d1ba665SWarner Losh UINT8 PstateCnt; 1600d1ba665SWarner Losh UINT32 Pm1aEvtBlk; 1610d1ba665SWarner Losh UINT32 Pm1bEvtBlk; 1620d1ba665SWarner Losh UINT32 Pm1aCntBlk; 1630d1ba665SWarner Losh UINT32 Pm1bCntBlk; 1640d1ba665SWarner Losh UINT32 Pm2CntBlk; 1650d1ba665SWarner Losh UINT32 PmTmrBlk; 1660d1ba665SWarner Losh UINT32 Gpe0Blk; 1670d1ba665SWarner Losh UINT32 Gpe1Blk; 1680d1ba665SWarner Losh UINT8 Pm1EvtLen; 1690d1ba665SWarner Losh UINT8 Pm1CntLen; 1700d1ba665SWarner Losh UINT8 Pm2CntLen; 1710d1ba665SWarner Losh UINT8 PmTmrLen; 1720d1ba665SWarner Losh UINT8 Gpe0BlkLen; 1730d1ba665SWarner Losh UINT8 Gpe1BlkLen; 1740d1ba665SWarner Losh UINT8 Gpe1Base; 1750d1ba665SWarner Losh UINT8 CstCnt; 1760d1ba665SWarner Losh UINT16 PLvl2Lat; 1770d1ba665SWarner Losh UINT16 PLvl3Lat; 1780d1ba665SWarner Losh UINT16 FlushSize; 1790d1ba665SWarner Losh UINT16 FlushStride; 1800d1ba665SWarner Losh UINT8 DutyOffset; 1810d1ba665SWarner Losh UINT8 DutyWidth; 1820d1ba665SWarner Losh UINT8 DayAlrm; 1830d1ba665SWarner Losh UINT8 MonAlrm; 1840d1ba665SWarner Losh UINT8 Century; 1850d1ba665SWarner Losh UINT16 IaPcBootArch; 1860d1ba665SWarner Losh UINT8 Reserved1; 1870d1ba665SWarner Losh UINT32 Flags; 1880d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg; 1890d1ba665SWarner Losh UINT8 ResetValue; 1900d1ba665SWarner Losh UINT8 Reserved2[3]; 1910d1ba665SWarner Losh UINT64 XFirmwareCtrl; 1920d1ba665SWarner Losh UINT64 XDsdt; 1930d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; 1940d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; 1950d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; 1960d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; 1970d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; 1980d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; 1990d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; 2000d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; 2010d1ba665SWarner Losh } EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE; 2020d1ba665SWarner Losh 2030d1ba665SWarner Losh /// 2040d1ba665SWarner Losh /// FADT Version (as defined in ACPI 3.0 spec.) 2050d1ba665SWarner Losh /// 2060d1ba665SWarner Losh #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04 2070d1ba665SWarner Losh 2080d1ba665SWarner Losh // 2090d1ba665SWarner Losh // Fixed ACPI Description Table Preferred Power Management Profile 2100d1ba665SWarner Losh // 2110d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED 0 2120d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_DESKTOP 1 2130d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_MOBILE 2 2140d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_WORKSTATION 3 2150d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER 4 2160d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER 5 2170d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC 6 2180d1ba665SWarner Losh #define EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER 7 2190d1ba665SWarner Losh 2200d1ba665SWarner Losh // 2210d1ba665SWarner Losh // Fixed ACPI Description Table Boot Architecture Flags 2220d1ba665SWarner Losh // All other bits are reserved and must be set to 0. 2230d1ba665SWarner Losh // 2240d1ba665SWarner Losh #define EFI_ACPI_3_0_LEGACY_DEVICES BIT0 2250d1ba665SWarner Losh #define EFI_ACPI_3_0_8042 BIT1 2260d1ba665SWarner Losh #define EFI_ACPI_3_0_VGA_NOT_PRESENT BIT2 2270d1ba665SWarner Losh #define EFI_ACPI_3_0_MSI_NOT_SUPPORTED BIT3 2280d1ba665SWarner Losh #define EFI_ACPI_3_0_PCIE_ASPM_CONTROLS BIT4 2290d1ba665SWarner Losh 2300d1ba665SWarner Losh // 2310d1ba665SWarner Losh // Fixed ACPI Description Table Fixed Feature Flags 2320d1ba665SWarner Losh // All other bits are reserved and must be set to 0. 2330d1ba665SWarner Losh // 2340d1ba665SWarner Losh #define EFI_ACPI_3_0_WBINVD BIT0 2350d1ba665SWarner Losh #define EFI_ACPI_3_0_WBINVD_FLUSH BIT1 2360d1ba665SWarner Losh #define EFI_ACPI_3_0_PROC_C1 BIT2 2370d1ba665SWarner Losh #define EFI_ACPI_3_0_P_LVL2_UP BIT3 2380d1ba665SWarner Losh #define EFI_ACPI_3_0_PWR_BUTTON BIT4 2390d1ba665SWarner Losh #define EFI_ACPI_3_0_SLP_BUTTON BIT5 2400d1ba665SWarner Losh #define EFI_ACPI_3_0_FIX_RTC BIT6 2410d1ba665SWarner Losh #define EFI_ACPI_3_0_RTC_S4 BIT7 2420d1ba665SWarner Losh #define EFI_ACPI_3_0_TMR_VAL_EXT BIT8 2430d1ba665SWarner Losh #define EFI_ACPI_3_0_DCK_CAP BIT9 2440d1ba665SWarner Losh #define EFI_ACPI_3_0_RESET_REG_SUP BIT10 2450d1ba665SWarner Losh #define EFI_ACPI_3_0_SEALED_CASE BIT11 2460d1ba665SWarner Losh #define EFI_ACPI_3_0_HEADLESS BIT12 2470d1ba665SWarner Losh #define EFI_ACPI_3_0_CPU_SW_SLP BIT13 2480d1ba665SWarner Losh #define EFI_ACPI_3_0_PCI_EXP_WAK BIT14 2490d1ba665SWarner Losh #define EFI_ACPI_3_0_USE_PLATFORM_CLOCK BIT15 2500d1ba665SWarner Losh #define EFI_ACPI_3_0_S4_RTC_STS_VALID BIT16 2510d1ba665SWarner Losh #define EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE BIT17 2520d1ba665SWarner Losh #define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL BIT18 2530d1ba665SWarner Losh #define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19 2540d1ba665SWarner Losh 2550d1ba665SWarner Losh /// 2560d1ba665SWarner Losh /// Firmware ACPI Control Structure 2570d1ba665SWarner Losh /// 2580d1ba665SWarner Losh typedef struct { 2590d1ba665SWarner Losh UINT32 Signature; 2600d1ba665SWarner Losh UINT32 Length; 2610d1ba665SWarner Losh UINT32 HardwareSignature; 2620d1ba665SWarner Losh UINT32 FirmwareWakingVector; 2630d1ba665SWarner Losh UINT32 GlobalLock; 2640d1ba665SWarner Losh UINT32 Flags; 2650d1ba665SWarner Losh UINT64 XFirmwareWakingVector; 2660d1ba665SWarner Losh UINT8 Version; 2670d1ba665SWarner Losh UINT8 Reserved[31]; 2680d1ba665SWarner Losh } EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; 2690d1ba665SWarner Losh 2700d1ba665SWarner Losh /// 2710d1ba665SWarner Losh /// FACS Version (as defined in ACPI 3.0 spec.) 2720d1ba665SWarner Losh /// 2730d1ba665SWarner Losh #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01 2740d1ba665SWarner Losh 2750d1ba665SWarner Losh /// 2760d1ba665SWarner Losh /// Firmware Control Structure Feature Flags 2770d1ba665SWarner Losh /// All other bits are reserved and must be set to 0. 2780d1ba665SWarner Losh /// 2790d1ba665SWarner Losh #define EFI_ACPI_3_0_S4BIOS_F BIT0 2800d1ba665SWarner Losh 2810d1ba665SWarner Losh // 2820d1ba665SWarner Losh // Differentiated System Description Table, 2830d1ba665SWarner Losh // Secondary System Description Table 2840d1ba665SWarner Losh // and Persistent System Description Table, 2850d1ba665SWarner Losh // no definition needed as they are common description table header, the same with 2860d1ba665SWarner Losh // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block. 2870d1ba665SWarner Losh // 2880d1ba665SWarner Losh #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 2890d1ba665SWarner Losh #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 2900d1ba665SWarner Losh 2910d1ba665SWarner Losh /// 2920d1ba665SWarner Losh /// Multiple APIC Description Table header definition. The rest of the table 2930d1ba665SWarner Losh /// must be defined in a platform specific manner. 2940d1ba665SWarner Losh /// 2950d1ba665SWarner Losh typedef struct { 2960d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 2970d1ba665SWarner Losh UINT32 LocalApicAddress; 2980d1ba665SWarner Losh UINT32 Flags; 2990d1ba665SWarner Losh } EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; 3000d1ba665SWarner Losh 3010d1ba665SWarner Losh /// 3020d1ba665SWarner Losh /// MADT Revision (as defined in ACPI 3.0 spec.) 3030d1ba665SWarner Losh /// 3040d1ba665SWarner Losh #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02 3050d1ba665SWarner Losh 3060d1ba665SWarner Losh /// 3070d1ba665SWarner Losh /// Multiple APIC Flags 3080d1ba665SWarner Losh /// All other bits are reserved and must be set to 0. 3090d1ba665SWarner Losh /// 3100d1ba665SWarner Losh #define EFI_ACPI_3_0_PCAT_COMPAT BIT0 3110d1ba665SWarner Losh 3120d1ba665SWarner Losh // 3130d1ba665SWarner Losh // Multiple APIC Description Table APIC structure types 3140d1ba665SWarner Losh // All other values between 0x09 an 0xFF are reserved and 3150d1ba665SWarner Losh // will be ignored by OSPM. 3160d1ba665SWarner Losh // 3170d1ba665SWarner Losh #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC 0x00 3180d1ba665SWarner Losh #define EFI_ACPI_3_0_IO_APIC 0x01 3190d1ba665SWarner Losh #define EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE 0x02 3200d1ba665SWarner Losh #define EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03 3210d1ba665SWarner Losh #define EFI_ACPI_3_0_LOCAL_APIC_NMI 0x04 3220d1ba665SWarner Losh #define EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05 3230d1ba665SWarner Losh #define EFI_ACPI_3_0_IO_SAPIC 0x06 3240d1ba665SWarner Losh #define EFI_ACPI_3_0_LOCAL_SAPIC 0x07 3250d1ba665SWarner Losh #define EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES 0x08 3260d1ba665SWarner Losh 3270d1ba665SWarner Losh // 3280d1ba665SWarner Losh // APIC Structure Definitions 3290d1ba665SWarner Losh // 3300d1ba665SWarner Losh 3310d1ba665SWarner Losh /// 3320d1ba665SWarner Losh /// Processor Local APIC Structure Definition 3330d1ba665SWarner Losh /// 3340d1ba665SWarner Losh typedef struct { 3350d1ba665SWarner Losh UINT8 Type; 3360d1ba665SWarner Losh UINT8 Length; 3370d1ba665SWarner Losh UINT8 AcpiProcessorId; 3380d1ba665SWarner Losh UINT8 ApicId; 3390d1ba665SWarner Losh UINT32 Flags; 3400d1ba665SWarner Losh } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE; 3410d1ba665SWarner Losh 3420d1ba665SWarner Losh /// 3430d1ba665SWarner Losh /// Local APIC Flags. All other bits are reserved and must be 0. 3440d1ba665SWarner Losh /// 3450d1ba665SWarner Losh #define EFI_ACPI_3_0_LOCAL_APIC_ENABLED BIT0 3460d1ba665SWarner Losh 3470d1ba665SWarner Losh /// 3480d1ba665SWarner Losh /// IO APIC Structure 3490d1ba665SWarner Losh /// 3500d1ba665SWarner Losh typedef struct { 3510d1ba665SWarner Losh UINT8 Type; 3520d1ba665SWarner Losh UINT8 Length; 3530d1ba665SWarner Losh UINT8 IoApicId; 3540d1ba665SWarner Losh UINT8 Reserved; 3550d1ba665SWarner Losh UINT32 IoApicAddress; 3560d1ba665SWarner Losh UINT32 GlobalSystemInterruptBase; 3570d1ba665SWarner Losh } EFI_ACPI_3_0_IO_APIC_STRUCTURE; 3580d1ba665SWarner Losh 3590d1ba665SWarner Losh /// 3600d1ba665SWarner Losh /// Interrupt Source Override Structure 3610d1ba665SWarner Losh /// 3620d1ba665SWarner Losh typedef struct { 3630d1ba665SWarner Losh UINT8 Type; 3640d1ba665SWarner Losh UINT8 Length; 3650d1ba665SWarner Losh UINT8 Bus; 3660d1ba665SWarner Losh UINT8 Source; 3670d1ba665SWarner Losh UINT32 GlobalSystemInterrupt; 3680d1ba665SWarner Losh UINT16 Flags; 3690d1ba665SWarner Losh } EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; 3700d1ba665SWarner Losh 3710d1ba665SWarner Losh /// 3720d1ba665SWarner Losh /// Platform Interrupt Sources Structure Definition 3730d1ba665SWarner Losh /// 3740d1ba665SWarner Losh typedef struct { 3750d1ba665SWarner Losh UINT8 Type; 3760d1ba665SWarner Losh UINT8 Length; 3770d1ba665SWarner Losh UINT16 Flags; 3780d1ba665SWarner Losh UINT8 InterruptType; 3790d1ba665SWarner Losh UINT8 ProcessorId; 3800d1ba665SWarner Losh UINT8 ProcessorEid; 3810d1ba665SWarner Losh UINT8 IoSapicVector; 3820d1ba665SWarner Losh UINT32 GlobalSystemInterrupt; 3830d1ba665SWarner Losh UINT32 PlatformInterruptSourceFlags; 3840d1ba665SWarner Losh UINT8 CpeiProcessorOverride; 3850d1ba665SWarner Losh UINT8 Reserved[31]; 3860d1ba665SWarner Losh } EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE; 3870d1ba665SWarner Losh 3880d1ba665SWarner Losh // 3890d1ba665SWarner Losh // MPS INTI flags. 3900d1ba665SWarner Losh // All other bits are reserved and must be set to 0. 3910d1ba665SWarner Losh // 3920d1ba665SWarner Losh #define EFI_ACPI_3_0_POLARITY (3 << 0) 3930d1ba665SWarner Losh #define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2) 3940d1ba665SWarner Losh 3950d1ba665SWarner Losh /// 3960d1ba665SWarner Losh /// Non-Maskable Interrupt Source Structure 3970d1ba665SWarner Losh /// 3980d1ba665SWarner Losh typedef struct { 3990d1ba665SWarner Losh UINT8 Type; 4000d1ba665SWarner Losh UINT8 Length; 4010d1ba665SWarner Losh UINT16 Flags; 4020d1ba665SWarner Losh UINT32 GlobalSystemInterrupt; 4030d1ba665SWarner Losh } EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; 4040d1ba665SWarner Losh 4050d1ba665SWarner Losh /// 4060d1ba665SWarner Losh /// Local APIC NMI Structure 4070d1ba665SWarner Losh /// 4080d1ba665SWarner Losh typedef struct { 4090d1ba665SWarner Losh UINT8 Type; 4100d1ba665SWarner Losh UINT8 Length; 4110d1ba665SWarner Losh UINT8 AcpiProcessorId; 4120d1ba665SWarner Losh UINT16 Flags; 4130d1ba665SWarner Losh UINT8 LocalApicLint; 4140d1ba665SWarner Losh } EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE; 4150d1ba665SWarner Losh 4160d1ba665SWarner Losh /// 4170d1ba665SWarner Losh /// Local APIC Address Override Structure 4180d1ba665SWarner Losh /// 4190d1ba665SWarner Losh typedef struct { 4200d1ba665SWarner Losh UINT8 Type; 4210d1ba665SWarner Losh UINT8 Length; 4220d1ba665SWarner Losh UINT16 Reserved; 4230d1ba665SWarner Losh UINT64 LocalApicAddress; 4240d1ba665SWarner Losh } EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; 4250d1ba665SWarner Losh 4260d1ba665SWarner Losh /// 4270d1ba665SWarner Losh /// IO SAPIC Structure 4280d1ba665SWarner Losh /// 4290d1ba665SWarner Losh typedef struct { 4300d1ba665SWarner Losh UINT8 Type; 4310d1ba665SWarner Losh UINT8 Length; 4320d1ba665SWarner Losh UINT8 IoApicId; 4330d1ba665SWarner Losh UINT8 Reserved; 4340d1ba665SWarner Losh UINT32 GlobalSystemInterruptBase; 4350d1ba665SWarner Losh UINT64 IoSapicAddress; 4360d1ba665SWarner Losh } EFI_ACPI_3_0_IO_SAPIC_STRUCTURE; 4370d1ba665SWarner Losh 4380d1ba665SWarner Losh /// 4390d1ba665SWarner Losh /// Local SAPIC Structure 4400d1ba665SWarner Losh /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String 4410d1ba665SWarner Losh /// 4420d1ba665SWarner Losh typedef struct { 4430d1ba665SWarner Losh UINT8 Type; 4440d1ba665SWarner Losh UINT8 Length; 4450d1ba665SWarner Losh UINT8 AcpiProcessorId; 4460d1ba665SWarner Losh UINT8 LocalSapicId; 4470d1ba665SWarner Losh UINT8 LocalSapicEid; 4480d1ba665SWarner Losh UINT8 Reserved[3]; 4490d1ba665SWarner Losh UINT32 Flags; 4500d1ba665SWarner Losh UINT32 ACPIProcessorUIDValue; 4510d1ba665SWarner Losh } EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; 4520d1ba665SWarner Losh 4530d1ba665SWarner Losh /// 4540d1ba665SWarner Losh /// Platform Interrupt Sources Structure 4550d1ba665SWarner Losh /// 4560d1ba665SWarner Losh typedef struct { 4570d1ba665SWarner Losh UINT8 Type; 4580d1ba665SWarner Losh UINT8 Length; 4590d1ba665SWarner Losh UINT16 Flags; 4600d1ba665SWarner Losh UINT8 InterruptType; 4610d1ba665SWarner Losh UINT8 ProcessorId; 4620d1ba665SWarner Losh UINT8 ProcessorEid; 4630d1ba665SWarner Losh UINT8 IoSapicVector; 4640d1ba665SWarner Losh UINT32 GlobalSystemInterrupt; 4650d1ba665SWarner Losh UINT32 PlatformInterruptSourceFlags; 4660d1ba665SWarner Losh } EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; 4670d1ba665SWarner Losh 4680d1ba665SWarner Losh /// 4690d1ba665SWarner Losh /// Platform Interrupt Source Flags. 4700d1ba665SWarner Losh /// All other bits are reserved and must be set to 0. 4710d1ba665SWarner Losh /// 4720d1ba665SWarner Losh #define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE BIT0 4730d1ba665SWarner Losh 4740d1ba665SWarner Losh /// 4750d1ba665SWarner Losh /// Smart Battery Description Table (SBST) 4760d1ba665SWarner Losh /// 4770d1ba665SWarner Losh typedef struct { 4780d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 4790d1ba665SWarner Losh UINT32 WarningEnergyLevel; 4800d1ba665SWarner Losh UINT32 LowEnergyLevel; 4810d1ba665SWarner Losh UINT32 CriticalEnergyLevel; 4820d1ba665SWarner Losh } EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE; 4830d1ba665SWarner Losh 4840d1ba665SWarner Losh /// 4850d1ba665SWarner Losh /// SBST Version (as defined in ACPI 3.0 spec.) 4860d1ba665SWarner Losh /// 4870d1ba665SWarner Losh #define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01 4880d1ba665SWarner Losh 4890d1ba665SWarner Losh /// 4900d1ba665SWarner Losh /// Embedded Controller Boot Resources Table (ECDT) 4910d1ba665SWarner Losh /// The table is followed by a null terminated ASCII string that contains 4920d1ba665SWarner Losh /// a fully qualified reference to the name space object. 4930d1ba665SWarner Losh /// 4940d1ba665SWarner Losh typedef struct { 4950d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 4960d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl; 4970d1ba665SWarner Losh EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData; 4980d1ba665SWarner Losh UINT32 Uid; 4990d1ba665SWarner Losh UINT8 GpeBit; 5000d1ba665SWarner Losh } EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; 5010d1ba665SWarner Losh 5020d1ba665SWarner Losh /// 5030d1ba665SWarner Losh /// ECDT Version (as defined in ACPI 3.0 spec.) 5040d1ba665SWarner Losh /// 5050d1ba665SWarner Losh #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01 5060d1ba665SWarner Losh 5070d1ba665SWarner Losh /// 5080d1ba665SWarner Losh /// System Resource Affinity Table (SRAT. The rest of the table 5090d1ba665SWarner Losh /// must be defined in a platform specific manner. 5100d1ba665SWarner Losh /// 5110d1ba665SWarner Losh typedef struct { 5120d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 5130d1ba665SWarner Losh UINT32 Reserved1; ///< Must be set to 1 5140d1ba665SWarner Losh UINT64 Reserved2; 5150d1ba665SWarner Losh } EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER; 5160d1ba665SWarner Losh 5170d1ba665SWarner Losh /// 5180d1ba665SWarner Losh /// SRAT Version (as defined in ACPI 3.0 spec.) 5190d1ba665SWarner Losh /// 5200d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02 5210d1ba665SWarner Losh 5220d1ba665SWarner Losh // 5230d1ba665SWarner Losh // SRAT structure types. 5240d1ba665SWarner Losh // All other values between 0x02 an 0xFF are reserved and 5250d1ba665SWarner Losh // will be ignored by OSPM. 5260d1ba665SWarner Losh // 5270d1ba665SWarner Losh #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00 5280d1ba665SWarner Losh #define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01 5290d1ba665SWarner Losh 5300d1ba665SWarner Losh /// 5310d1ba665SWarner Losh /// Processor Local APIC/SAPIC Affinity Structure Definition 5320d1ba665SWarner Losh /// 5330d1ba665SWarner Losh typedef struct { 5340d1ba665SWarner Losh UINT8 Type; 5350d1ba665SWarner Losh UINT8 Length; 5360d1ba665SWarner Losh UINT8 ProximityDomain7To0; 5370d1ba665SWarner Losh UINT8 ApicId; 5380d1ba665SWarner Losh UINT32 Flags; 5390d1ba665SWarner Losh UINT8 LocalSapicEid; 5400d1ba665SWarner Losh UINT8 ProximityDomain31To8[3]; 5410d1ba665SWarner Losh UINT8 Reserved[4]; 5420d1ba665SWarner Losh } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE; 5430d1ba665SWarner Losh 5440d1ba665SWarner Losh /// 5450d1ba665SWarner Losh /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0. 5460d1ba665SWarner Losh /// 5470d1ba665SWarner Losh #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0) 5480d1ba665SWarner Losh 5490d1ba665SWarner Losh /// 5500d1ba665SWarner Losh /// Memory Affinity Structure Definition 5510d1ba665SWarner Losh /// 5520d1ba665SWarner Losh typedef struct { 5530d1ba665SWarner Losh UINT8 Type; 5540d1ba665SWarner Losh UINT8 Length; 5550d1ba665SWarner Losh UINT32 ProximityDomain; 5560d1ba665SWarner Losh UINT16 Reserved1; 5570d1ba665SWarner Losh UINT32 AddressBaseLow; 5580d1ba665SWarner Losh UINT32 AddressBaseHigh; 5590d1ba665SWarner Losh UINT32 LengthLow; 5600d1ba665SWarner Losh UINT32 LengthHigh; 5610d1ba665SWarner Losh UINT32 Reserved2; 5620d1ba665SWarner Losh UINT32 Flags; 5630d1ba665SWarner Losh UINT64 Reserved3; 5640d1ba665SWarner Losh } EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE; 5650d1ba665SWarner Losh 5660d1ba665SWarner Losh // 5670d1ba665SWarner Losh // Memory Flags. All other bits are reserved and must be 0. 5680d1ba665SWarner Losh // 5690d1ba665SWarner Losh #define EFI_ACPI_3_0_MEMORY_ENABLED (1 << 0) 5700d1ba665SWarner Losh #define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1) 5710d1ba665SWarner Losh #define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2) 5720d1ba665SWarner Losh 5730d1ba665SWarner Losh /// 5740d1ba665SWarner Losh /// System Locality Distance Information Table (SLIT). 5750d1ba665SWarner Losh /// The rest of the table is a matrix. 5760d1ba665SWarner Losh /// 5770d1ba665SWarner Losh typedef struct { 5780d1ba665SWarner Losh EFI_ACPI_DESCRIPTION_HEADER Header; 5790d1ba665SWarner Losh UINT64 NumberOfSystemLocalities; 5800d1ba665SWarner Losh } EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER; 5810d1ba665SWarner Losh 5820d1ba665SWarner Losh /// 5830d1ba665SWarner Losh /// SLIT Version (as defined in ACPI 3.0 spec.) 5840d1ba665SWarner Losh /// 5850d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01 5860d1ba665SWarner Losh 5870d1ba665SWarner Losh // 5880d1ba665SWarner Losh // Known table signatures 5890d1ba665SWarner Losh // 5900d1ba665SWarner Losh 5910d1ba665SWarner Losh /// 5920d1ba665SWarner Losh /// "RSD PTR " Root System Description Pointer 5930d1ba665SWarner Losh /// 5940d1ba665SWarner Losh #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ') 5950d1ba665SWarner Losh 5960d1ba665SWarner Losh /// 5970d1ba665SWarner Losh /// "APIC" Multiple APIC Description Table 5980d1ba665SWarner Losh /// 5990d1ba665SWarner Losh #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C') 6000d1ba665SWarner Losh 6010d1ba665SWarner Losh /// 6020d1ba665SWarner Losh /// "DSDT" Differentiated System Description Table 6030d1ba665SWarner Losh /// 6040d1ba665SWarner Losh #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T') 6050d1ba665SWarner Losh 6060d1ba665SWarner Losh /// 6070d1ba665SWarner Losh /// "ECDT" Embedded Controller Boot Resources Table 6080d1ba665SWarner Losh /// 6090d1ba665SWarner Losh #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T') 6100d1ba665SWarner Losh 6110d1ba665SWarner Losh /// 6120d1ba665SWarner Losh /// "FACP" Fixed ACPI Description Table 6130d1ba665SWarner Losh /// 6140d1ba665SWarner Losh #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P') 6150d1ba665SWarner Losh 6160d1ba665SWarner Losh /// 6170d1ba665SWarner Losh /// "FACS" Firmware ACPI Control Structure 6180d1ba665SWarner Losh /// 6190d1ba665SWarner Losh #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S') 6200d1ba665SWarner Losh 6210d1ba665SWarner Losh /// 6220d1ba665SWarner Losh /// "PSDT" Persistent System Description Table 6230d1ba665SWarner Losh /// 6240d1ba665SWarner Losh #define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T') 6250d1ba665SWarner Losh 6260d1ba665SWarner Losh /// 6270d1ba665SWarner Losh /// "RSDT" Root System Description Table 6280d1ba665SWarner Losh /// 6290d1ba665SWarner Losh #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T') 6300d1ba665SWarner Losh 6310d1ba665SWarner Losh /// 6320d1ba665SWarner Losh /// "SBST" Smart Battery Specification Table 6330d1ba665SWarner Losh /// 6340d1ba665SWarner Losh #define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T') 6350d1ba665SWarner Losh 6360d1ba665SWarner Losh /// 6370d1ba665SWarner Losh /// "SLIT" System Locality Information Table 6380d1ba665SWarner Losh /// 6390d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T') 6400d1ba665SWarner Losh 6410d1ba665SWarner Losh /// 6420d1ba665SWarner Losh /// "SRAT" System Resource Affinity Table 6430d1ba665SWarner Losh /// 6440d1ba665SWarner Losh #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T') 6450d1ba665SWarner Losh 6460d1ba665SWarner Losh /// 6470d1ba665SWarner Losh /// "SSDT" Secondary System Description Table 6480d1ba665SWarner Losh /// 6490d1ba665SWarner Losh #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T') 6500d1ba665SWarner Losh 6510d1ba665SWarner Losh /// 6520d1ba665SWarner Losh /// "XSDT" Extended System Description Table 6530d1ba665SWarner Losh /// 6540d1ba665SWarner Losh #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T') 6550d1ba665SWarner Losh 6560d1ba665SWarner Losh /// 6570d1ba665SWarner Losh /// "BOOT" MS Simple Boot Spec 6580d1ba665SWarner Losh /// 6590d1ba665SWarner Losh #define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T') 6600d1ba665SWarner Losh 6610d1ba665SWarner Losh /// 6620d1ba665SWarner Losh /// "CPEP" Corrected Platform Error Polling Table 6630d1ba665SWarner Losh /// 6640d1ba665SWarner Losh #define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P') 6650d1ba665SWarner Losh 6660d1ba665SWarner Losh /// 6670d1ba665SWarner Losh /// "DBGP" MS Debug Port Spec 6680d1ba665SWarner Losh /// 6690d1ba665SWarner Losh #define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P') 6700d1ba665SWarner Losh 6710d1ba665SWarner Losh /// 6720d1ba665SWarner Losh /// "ETDT" Event Timer Description Table 6730d1ba665SWarner Losh /// 6740d1ba665SWarner Losh #define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T') 6750d1ba665SWarner Losh 6760d1ba665SWarner Losh /// 6770d1ba665SWarner Losh /// "HPET" IA-PC High Precision Event Timer Table 6780d1ba665SWarner Losh /// 6790d1ba665SWarner Losh #define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T') 6800d1ba665SWarner Losh 6810d1ba665SWarner Losh /// 6820d1ba665SWarner Losh /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table 6830d1ba665SWarner Losh /// 6840d1ba665SWarner Losh #define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G') 6850d1ba665SWarner Losh 6860d1ba665SWarner Losh /// 687*3245fa21SMitchell Horne /// "SPCR" Serial Port Console Redirection Table 6880d1ba665SWarner Losh /// 6890d1ba665SWarner Losh #define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') 6900d1ba665SWarner Losh 6910d1ba665SWarner Losh /// 6920d1ba665SWarner Losh /// "SPMI" Server Platform Management Interface Table 6930d1ba665SWarner Losh /// 6940d1ba665SWarner Losh #define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I') 6950d1ba665SWarner Losh 6960d1ba665SWarner Losh /// 6970d1ba665SWarner Losh /// "TCPA" Trusted Computing Platform Alliance Capabilities Table 6980d1ba665SWarner Losh /// 6990d1ba665SWarner Losh #define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A') 7000d1ba665SWarner Losh 7010d1ba665SWarner Losh /// 7020d1ba665SWarner Losh /// "WDRT" Watchdog Resource Table 7030d1ba665SWarner Losh /// 7040d1ba665SWarner Losh #define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T') 7050d1ba665SWarner Losh 7060d1ba665SWarner Losh /// 7070d1ba665SWarner Losh /// "WDAT" Watchdog Action Table 7080d1ba665SWarner Losh /// 7090d1ba665SWarner Losh #define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T') 7100d1ba665SWarner Losh 7110d1ba665SWarner Losh /// 7120d1ba665SWarner Losh /// "WSPT" Windows Specific Properties Table 7130d1ba665SWarner Losh /// 7140d1ba665SWarner Losh #define EFI_ACPI_3_0_WINDOWS_SPECIFIC_PROPERTIES_TABLE_SIGNATURE SIGNATURE_32('W', 'S', 'P', 'T') 7150d1ba665SWarner Losh 7160d1ba665SWarner Losh /// 7170d1ba665SWarner Losh /// "iBFT" iSCSI Boot Firmware Table 7180d1ba665SWarner Losh /// 7190d1ba665SWarner Losh #define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T') 7200d1ba665SWarner Losh 7210d1ba665SWarner Losh #pragma pack() 7220d1ba665SWarner Losh 7230d1ba665SWarner Losh #endif 724