Static ACPI tables for WilsonCityRvp Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Cc: Chasel Chiu <chasel.c...@intel.com> Signed-off-by: Isaac Oram <isaac.w.o...@intel.com> --- Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Bdat/Bdat.aslc | 54 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/DBG2/DBG2.aslc | 81 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Facs/Facs62.aslc | 72 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Fadt/Fadt62.aslc | 171 ++++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hmat/Hmat.aslc | 972 ++++++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hpet/Hpet.aslc | 61 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Mcfg/Mcfg.aslc | 74 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Migt/Migt.aslc | 68 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Msct/Msct.aslc | 137 +++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/NFIT/Nfit.aslc | 48 + Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/PCAT/Pcat.aslc | 44 + Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Pmtt/Pmtt10nm.aslc | 136 +++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/SPCR/Spcr.aslc | 89 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Spmi/Spmi.aslc | 53 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wddt/Wddt1.0.aslc | 74 ++ Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wsmt/Wsmt.aslc | 74 ++ 16 files changed, 2208 insertions(+)
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Bdat/Bdat.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Bdat/Bdat.aslc new file mode 100644 index 0000000000..734f11200f --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Bdat/Bdat.aslc @@ -0,0 +1,54 @@ +/** @file + + @copyright + Copyright 2005 - 2012 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Bdat.h> + +// +// Bdat Access Handler instance data structure +// +STATIC +EFI_BDAT_ACPI_DESCRIPTION_TABLE mBdatAcpiTable = \ +{ + {EFI_BDAT_TABLE_SIGNATURE, // Signature + sizeof (EFI_BDAT_ACPI_DESCRIPTION_TABLE), // Length + 0x01, // Revision [01] + // + // Checksum will be updated during boot + // + 0, // Checksum + {' ', // OEM ID + ' ', + ' ', + ' ', + ' ', + ' '}, + 0, // OEM Table ID + 0, // OEM Revision [0x00000000] + 0, // Creator ID + 0}, // Creator Revision + {0, // System Memory Address Space ID + 0, + 0, + 0, + // + // Pointer will be updated during boot + // + EFI_BDAT_ACPI_POINTER} +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + return (VOID*)&mBdatAcpiTable; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/DBG2/DBG2.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/DBG2/DBG2.aslc new file mode 100644 index 0000000000..dcad37ac05 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/DBG2/DBG2.aslc @@ -0,0 +1,81 @@ +/** @file + + @copyright + Copyright 1999 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// + +#include <IndustryStandard/DebugPort2Table.h> +#include <Acpi/Dbg2.h> + + +DBG2_DEBUG_TABLE DBG2 = +{ + { + {EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE, + sizeof (DBG2_DEBUG_TABLE), + 0, + + // + // Checksum will be updated at runtime + // + 0x00, + + // + // It is expected that these values will be programmed at runtime + // + {' ', ' ', ' ', ' ', ' ', ' '}, + + 0, + 0, + 0, + 0 + }, + // + // Beginning of DBG2 specific fields + // + sizeof(EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE), + 1 + }, + { + EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION, + sizeof(EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT), + 1, + 2, + sizeof(EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT) + sizeof(EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE) + 4, + 0, + 0, + EFI_ACPI_DBG2_PORT_TYPE_SERIAL, + EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_FULL_16550, + {0, 0}, + sizeof(EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT), + sizeof(EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT) + sizeof(EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE) + }, + { + EFI_ACPI_6_2_SYSTEM_IO, + 16, + 0, + EFI_ACPI_6_2_BYTE, + 0x3F8 + }, + 4, + "." +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&DBG2; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Facs/Facs62.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Facs/Facs62.aslc new file mode 100644 index 0000000000..48753f7939 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Facs/Facs62.aslc @@ -0,0 +1,72 @@ +/** @file + + @copyright + Copyright 1996 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Facs.h> + +// +// Firmware ACPI Control Structure +// Please modify all values in Facs.h only. +// +EFI_ACPI_6_2_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = { + EFI_ACPI_6_2_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, + sizeof (EFI_ACPI_6_2_FIRMWARE_ACPI_CONTROL_STRUCTURE), + // + // Hardware Signature will be updated at runtime + // + 0x00000000, + + EFI_ACPI_FIRMWARE_WAKING_VECTOR, + EFI_ACPI_GLOBAL_LOCK, + EFI_ACPI_FIRMWARE_CONTROL_STRUCTURE_FLAGS, + EFI_ACPI_X_FIRMWARE_WAKING_VECTOR, + EFI_ACPI_6_2_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION, + {EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE}, + EFI_ACPI_OSPM_FLAGS, + {EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE} +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Facs; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Fadt/Fadt62.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Fadt/Fadt62.aslc new file mode 100644 index 0000000000..f37cf0a508 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Fadt/Fadt62.aslc @@ -0,0 +1,171 @@ +/** @file + + @copyright + Copyright 1999 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// + +#include <Acpi/Fadt.h> + +// +// Fixed ACPI Description Table +// Please modify all values in Fadt.h only. +// +EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE Fadt = { + {EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, + sizeof (EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE), + EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION, + // + // Checksum will be updated at runtime + // + 0x00, + // + // It is expected that these values will be updated at runtime + // + {' ', ' ', ' ', ' ', ' ', ' '}, // OEMID + 0, // OEM Table ID + EFI_ACPI_OEM_FADT_REVISION, + 0, // Creator ID + 0}, // Creator Revision + // + // These addresses will be updated at runtime + // + 0x00000000, // FIRMWARE_CTRL + 0x00000000, // DSDT + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_PREFERRED_PM_PROFILE, + EFI_ACPI_SCI_INT, + EFI_ACPI_SMI_CMD, + EFI_ACPI_ACPI_ENABLE, + EFI_ACPI_ACPI_DISABLE, + EFI_ACPI_S4_BIOS_REQ, + EFI_ACPI_PSTATE_CNT, + + EFI_ACPI_PM1A_EVT_BLK_ADDRESS, + EFI_ACPI_PM1B_EVT_BLK_ADDRESS, + EFI_ACPI_PM1A_CNT_BLK_ADDRESS, + EFI_ACPI_PM1B_CNT_BLK_ADDRESS, + EFI_ACPI_PM2_CNT_BLK_ADDRESS, + EFI_ACPI_PM_TMR_BLK_ADDRESS, + EFI_ACPI_GPE0_BLK_ADDRESS, + EFI_ACPI_GPE1_BLK_ADDRESS, + EFI_ACPI_PM1_EVT_LEN, + EFI_ACPI_PM1_CNT_LEN, + EFI_ACPI_PM2_CNT_LEN, + EFI_ACPI_PM_TMR_LEN, + EFI_ACPI_GPE0_BLK_LEN, + EFI_ACPI_GPE1_BLK_LEN, + EFI_ACPI_GPE1_BASE, + + EFI_ACPI_CST_CNT, + EFI_ACPI_P_LVL2_LAT, + EFI_ACPI_P_LVL3_LAT, + EFI_ACPI_FLUSH_SIZE, + EFI_ACPI_FLUSH_STRIDE, + EFI_ACPI_DUTY_OFFSET, + EFI_ACPI_DUTY_WIDTH, + EFI_ACPI_DAY_ALRM, + EFI_ACPI_MON_ALRM, + EFI_ACPI_CENTURY, + EFI_ACPI_IAPC_BOOT_ARCH, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_FIXED_FEATURE_FLAGS | EFI_ACPI_6_2_SLP_BUTTON, + // + // Reset Register Block + // + {EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID, + EFI_ACPI_RESET_REG_BIT_WIDTH, + EFI_ACPI_RESET_REG_BIT_OFFSET, + EFI_ACPI_6_2_BYTE, + EFI_ACPI_RESET_REG_ADDRESS}, + + EFI_ACPI_RESET_VALUE, + EFI_ACPI_RESERVED_WORD, // EFI_ACPI_6_2_ARM_BOOT_ARCH + EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, + // + // These addresses will be updated at runtime + // + 0x0000000000000000, // X_FIRMWARE_CTRL + 0x0000000000000000, // X_DSDT + // + // X_PM1a Event Register Block + // + {EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH, + EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET, + EFI_ACPI_6_2_WORD, + EFI_ACPI_PM1A_EVT_BLK_ADDRESS}, + // + // X_PM1b Event Register Block + // + {EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH, + EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET, + EFI_ACPI_6_2_UNDEFINED, + EFI_ACPI_PM1B_EVT_BLK_ADDRESS}, + // + // X_PM1a Control Register Block + // + {EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH, + EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET, + EFI_ACPI_6_2_WORD, + EFI_ACPI_PM1A_CNT_BLK_ADDRESS}, + // + // X_PM1b Control Register Block + // + {EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH, + EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET, + EFI_ACPI_6_2_UNDEFINED, + EFI_ACPI_PM1B_CNT_BLK_ADDRESS}, + // + // X_PM2 Control Register Block + // + {EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH, + EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET, + EFI_ACPI_6_2_UNDEFINED, + EFI_ACPI_PM2_CNT_BLK_ADDRESS}, + // + // X_PM Timer Control Register Block + // + {EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_PM_TMR_BLK_BIT_WIDTH, + EFI_ACPI_PM_TMR_BLK_BIT_OFFSET, + EFI_ACPI_6_2_DWORD, + EFI_ACPI_PM_TMR_BLK_ADDRESS}, + // + // X_General Purpose Event 0 Register Block + // + {EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_GPE0_BLK_BIT_WIDTH, + EFI_ACPI_GPE0_BLK_BIT_OFFSET, + EFI_ACPI_6_2_BYTE, + EFI_ACPI_GPE0_BLK_ADDRESS}, + // + // X_General Purpose Event 1 Register Block + // + {EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID, + EFI_ACPI_GPE1_BLK_BIT_WIDTH, + EFI_ACPI_GPE1_BLK_BIT_OFFSET, + EFI_ACPI_6_2_UNDEFINED, + EFI_ACPI_GPE1_BLK_ADDRESS} +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the executable. + // + return (VOID*)&Fadt; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hmat/Hmat.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hmat/Hmat.aslc new file mode 100644 index 0000000000..ae6efeaee5 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hmat/Hmat.aslc @@ -0,0 +1,972 @@ +/** @file + + @copyright + Copyright 2016 - 2018 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include "Acpi/Hmat.h" + +EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE Hmat = { + // EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_HEADER + { + // EFI_ACPI_DESCRIPTION_HEADER + { + EFI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_SIGNATURE, + sizeof (EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE), + EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_REVISION, + 0x00, // Checksum, updated at runtime + {' ', ' ', ' ', ' ', ' ', ' '}, // OEM ID, programmed at runtime + 0, + EFI_ACPI_OEM_HMAT_REVISION, + 0, + 0 + }, // EFI_ACPI_DESCRIPTION_HEADER + (UINT32) 0 + }, // EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_HEADER + + // Beginning of HMAT substructures +#if EFI_ACPI_HMAT_MSARS_COUNT > 0 + { // MEMORY_SUBSYSTEM_ADDRESS_RANGE_STRUCTURE[EFI_ACPI_HMAT_MSARS_COUNT] + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#if MC_MAX_NODE > 1 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 2 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 3 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 4 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 5 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 6 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 7 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 8 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 9 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 10 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 11 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 12 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 13 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 14 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif +#if MC_MAX_NODE > 15 + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() + MSARS_INIT() +#endif + }, // MEMORY_SUBSYSTEM_ADDRESS_RANGE_STRUCTURE[EFI_ACPI_HMAT_MSARS_COUNT] +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 0 + { // LATENCY_BANDWIDTH_INFO_STRUCTURE Lbis[EFI_ACPI_HMAT_LBIS_COUNT] + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#if EFI_ACPI_HMAT_LBIS_COUNT > 1 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 2 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 3 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 4 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 5 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 6 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 7 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 8 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 9 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 10 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif +#if EFI_ACPI_HMAT_LBIS_COUNT > 11 + LBIS_START() + RELATIVE_DISTANCE() +#if MC_MAX_NODE > 1 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 2 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 3 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 4 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 5 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 6 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 7 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 8 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 9 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 10 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 11 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 12 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 13 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 14 + RELATIVE_DISTANCE() +#endif +#if MC_MAX_NODE > 15 + RELATIVE_DISTANCE() +#endif + LBIS_END() +#endif + }, // LATENCY_BANDWIDTH_INFO_STRUCTURE Lbis[EFI_ACPI_HMAT_LBIS_COUNT] +#endif +#if EFI_ACPI_HMAT_MSCIS_COUNT > 0 + { // MEMORY_SIDE_CACHE_INFORMATION_STRUCTURE MemSideCache[EFI_ACPI_HMAT_MSCIS_COUNT] + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#if MC_MAX_NODE > 1 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 2 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 3 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 4 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 5 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 6 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 7 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 8 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 9 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 10 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 11 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 12 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 13 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 14 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif +#if MC_MAX_NODE > 15 + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() + MSCIS_INIT() +#endif + }, // MEMORY_SIDE_CACHE_INFORMATION_STRUCTURE MemSideCache[EFI_ACPI_HMAT_MSCIS_COUNT] +#endif +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the executable + // + return (VOID*)&Hmat; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hpet/Hpet.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hpet/Hpet.aslc new file mode 100644 index 0000000000..37b680ad6b --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Hpet/Hpet.aslc @@ -0,0 +1,61 @@ +/** @file + + @copyright + Copyright 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Hpet.h> + +// +// High Precision Event Timer Table +// Please modify all values in Hpet.h only. +// +EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER Hpet = { + {EFI_ACPI_6_2_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE, // Signature + sizeof (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER), // Length + EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION, // Revision [01] + // + // Checksum will be updated at runtime + // + 0x00, // Checksum + // + // It is expected that these values will be updated at runtime + // + {' ', + ' ', + ' ', + ' ', + ' ', + ' '}, + 0, + EFI_ACPI_OEM_HPET_REVISION, // OEM Revision [0x00000001] + 0, // Creator ID + 0}, // Creator Revision + EFI_ACPI_EVENT_TIMER_BLOCK_ID, // Event Timer Block ID (4B) [0x8086A201] + {EFI_ACPI_EVENT_TIMER_BLOCK_ADDRESS_SPACE_ID, // 2 [EFI_ACPI_6_2_SYSTEM_MEMORY] + EFI_ACPI_EVENT_TIMER_BLOCK_BIT_WIDTH, // 3 [0x00] + EFI_ACPI_EVENT_TIMER_BLOCK_BIT_OFFSET, // 4 [0x00] + EFI_ACPI_EVENT_TIMER_ACCESS_SIZE, // [0x00] + EFI_ACPI_EVENT_TIMER_BLOCK_ADDRESS}, // HPET Block BASE_ADDRESS (12B) [0x00000000FED00000] + EFI_ACPI_HPET_NUMBER, // HPET Number [00] + EFI_ACPI_MIN_CLOCK_TICK, // Main Counter Minimum Clock tick [0x0080] + EFI_ACPI_HPET_ATTRIBUTES // Page Protection & OEM attribute [0x00] +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Hpet; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Mcfg/Mcfg.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Mcfg/Mcfg.aslc new file mode 100644 index 0000000000..6e9a84aa49 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Mcfg/Mcfg.aslc @@ -0,0 +1,74 @@ +/** @file + + @copyright + Copyright 1999 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Mcfg.h> + +// +// MCFG Table definition +// +EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE Mcfg = { + {{EFI_ACPI_6_2_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE, + sizeof (EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE), + EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION, + // + // Checksum will be updated at runtime + // + 0x00, + // + // It is expected that these values will be programmed at runtime + // + {' ', + ' ', + ' ', + ' ', + ' ', + ' '}, + + 0, + EFI_ACPI_OEM_MCFG_REVISION, + 0, + 0}, + // + // Beginning of MCFG specific fields + // + EFI_ACPI_RESERVED_QWORD}, + // + // Sample Memory Mapped Configuration Space Base Address Structure + // + // 0x0, // Base Address + // 0x0, // PCI Segment Group Number + // 0x0, // Start Bus Number + // 0x0, // End Bus Number + // EFI_ACPI_RESERVED_DWORD, // Reserved + // + // Memory Mapped Configuration Space Base Address Structure + // +#if EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE_COUNT > 0 + {{0x0, // Base Address, will be updated by AcpiPlatform + 0x0, // PCI Segment Group Number + 0x0, // Start Bus Number + 0xff, // End Bus Number + EFI_ACPI_RESERVED_DWORD}} // Reserved +#endif // EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_BASE_ADDRESS_STRUCTURE_COUNT +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Mcfg; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Migt/Migt.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Migt/Migt.aslc new file mode 100644 index 0000000000..5efe5afee1 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Migt/Migt.aslc @@ -0,0 +1,68 @@ +/** @file + + @copyright + Copyright 2005 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Migt.h> + +// +// Please modify all values in Migt.h only. +// +EFI_MIGT_ACPI_DESCRIPTION_TABLE Migt = { + {EFI_MIGT_ACPI_TABLE_SIGNATURE, // Signature + sizeof (EFI_MIGT_ACPI_DESCRIPTION_TABLE), // Length + EFI_MIGT_ACPI_DESCRIPTION_TABLE_REVISION, // Revision + // + // Checksum will be updated at runtime + // + 0x00, // Checksum + // + // It is expected that these values will be updated at runtime + // + {' ', + ' ', + ' ', + ' ', + ' ', + ' '}, + 0, + EFI_MIGT_ACPI_OEM_REVISION, // OEM Revision + 0, // Creator ID + 0}, // Creator Revision + // + // MIGT Speicific Entries + // Control Register GAS structure + // + {EFI_MIGT_CR_ACPI_ADDRESS_SPACE_ID, // IO Type ID. + EFI_MIGT_CR_ACPI_REGISTER_BIT_WIDTH, + EFI_MIGT_CR_ACPI_REGISTER_BIT_OFFSET, + EFI_ACPI_RESERVED_BYTE, + EFI_MIGT_CR_ACPI_SMI_ADDRESS}, + + MIGT_SMI_SERVICE_ID, // SMI Door Bell + + // + // Action Region GAS structure + // + {EFI_MIGT_AR_ACPI_ADDRESS_SPACE_ID, // Memory Type ID + EFI_MIGT_AR_ACPI_REGISTER_BIT_WIDTH, + EFI_MIGT_AR_ACPI_REGISTER_BIT_OFFSET, + EFI_ACPI_RESERVED_BYTE, + // update during boot + EFI_MIGT_AR_ACPI_MEMORY_ADDRESS} +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + return (VOID*)&Migt; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Msct/Msct.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Msct/Msct.aslc new file mode 100644 index 0000000000..e0e1bebd0a --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Msct/Msct.aslc @@ -0,0 +1,137 @@ +/** @file + + @copyright + Copyright 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Msct.h> + +// +// Maximum System Characteristics Table definition +// +EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE Msct = { + {EFI_ACPI_6_2_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE, + sizeof (EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE), // Length + EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION, // Revision + 0x00, // Checksum will be updated at runtime + {'I', 'N', 'T', 'E', 'L', ' '}, // OemId + 0, // OemTableId + EFI_ACPI_OEM_MSCT_REVISION, // OemRevision + EFI_ACPI_CREATOR_ID, // CreaterId + EFI_ACPI_CREATOR_REVISION}, // CreaterRevision + // + // Beginning of MSCT specific fields + // + 0x00000038, // OffsetProxDomInfo + MAX_SOCKET - 1, // MaxNumProxDom + 0x00000000, // MaxNumClockDom + 0x0000000000000000, // MaxPhysicalAddress + // + // Proximity Domain Information Structure 0 + // + {{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity + +#if MAX_SOCKET > 1 + // + // Proximity Domain Information Structure 1 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 2 + // + // Proximity Domain Information Structure 2 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 3 + // + // Proximity Domain Information Structure 3 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 4 + // + // Proximity Domain Information Structure 4 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 5 + // + // Proximity Domain Information Structure 5 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 6 + // + // Proximity Domain Information Structure 6 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + +#if MAX_SOCKET > 7 + // + // Proximity Domain Information Structure 7 + // + ,{EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision + sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length + 0x00000000, // ProxDomRangeLow + 0x00000000, // ProxDomRangeHigh + 0x00000000, // MaxProcessorCapacity + 0x0000000000000000} // MaxMemoryCapacity +#endif + } +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + return (VOID*)&Msct; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/NFIT/Nfit.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/NFIT/Nfit.aslc new file mode 100644 index 0000000000..389c43ce3c --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/NFIT/Nfit.aslc @@ -0,0 +1,48 @@ +/** @file + + @copyright + Copyright 2015 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Nfit.h> + +// +// NFIT Table +// Please modify all values in Nfit.h only. +// +NVDIMM_FW_INTERFACE_TABLE Nfit = { + NVDIMM_FW_INTERFACE_TABLE_SIGNATURE, // Signature + sizeof (NVDIMM_FW_INTERFACE_TABLE), // Length + NVDIMM_FW_INTERFACE_TABLE_REVISION, // Revision [01] + // + // Checksum will be updated at runtime + // + 0x00, // Checksum + // + // It is expected that these values will be updated at runtime + // + {' ', // TODO any other static values to be filled in? + ' ', + ' ', + ' ', + ' ', + ' '} +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Nfit; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/PCAT/Pcat.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/PCAT/Pcat.aslc new file mode 100644 index 0000000000..e43c865c64 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/PCAT/Pcat.aslc @@ -0,0 +1,44 @@ +/** @file + + @copyright + Copyright 2015 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Pcat.h> + +// +// PCAT Table +// Please modify all values in Pcat.h only. +// +NVDIMM_PLATFORM_CONFIG_ATTRIBUTE_TABLE Pcat = { + NVDIMM_PLATFORM_CONFIG_ATTRIBUTE_TABLE_SIGNATURE, // Signature + sizeof (NVDIMM_PLATFORM_CONFIG_ATTRIBUTE_TABLE), // Length + NVDIMM_PLATFORM_CONFIG_ATTRIBUTE_TABLE_REVISION, // Revision + // + // Checksum will be updated at runtime + // + 0x00, // Checksum + // + // It is expected that these values will be updated at runtime + // + {' '}, // TODO any other static values? + +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Pcat; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Pmtt/Pmtt10nm.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Pmtt/Pmtt10nm.aslc new file mode 100644 index 0000000000..a0b4dc2756 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Pmtt/Pmtt10nm.aslc @@ -0,0 +1,136 @@ +/** @file + + @copyright + Copyright 2016 - 2018 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Pmtt.h> +// +// PMTT Table +// +#define PHYSICAL_COMP_IDENTIFIER \ + {PHYSICAL_COMPONENT_IDENTIFIER_TYPE_DIMM, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_DIMM_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + 0xFFFFFFFF} + +#define SLOT \ + {ACPI_TOP_LEVEL_VENDOR_SPECIFIC_DEVICE, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_SLOT_DEVICE) - sizeof(ACPI_PMTT_DIMM_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + PMTT_TYPE_SLOT_GUID, \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + PHYSICAL_COMP_IDENTIFIER} + +#define CHANNEL \ + {ACPI_TOP_LEVEL_VENDOR_SPECIFIC_DEVICE, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_CHANNEL_DEVICE) - MAX_DIMM * sizeof(ACPI_PMTT_SLOT_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + PMTT_TYPE_CHANNEL_GUID, \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + {SLOT, \ + SLOT} \ + } + +#define MEM_IMC \ + {ACPI_TOP_LEVEL_IMC, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_IMC_DEVICE) - MAX_MC_CH * sizeof(ACPI_PMTT_CHANNEL_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + {CHANNEL, \ + CHANNEL} \ + } + +#define DIE \ + {ACPI_TOP_LEVEL_VENDOR_SPECIFIC_DEVICE, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_DIE_DEVICE) - MAX_IMC * sizeof(ACPI_PMTT_IMC_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + PMTT_TYPE_DIE_GUID, \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + {MEM_IMC, \ + MEM_IMC, \ + MEM_IMC, \ + MEM_IMC}} + +#define SKT_LEVEL \ + {ACPI_TOP_LEVEL_SOCKET, \ + EFI_ACPI_RESERVED_BYTE, \ + sizeof (ACPI_PMTT_SOCKET_DEVICE) - sizeof(ACPI_PMTT_DIE_DEVICE), \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + 0x00000000, \ + 0x00000000, \ + EFI_ACPI_RESERVED_BYTE, \ + {DIE} \ + }, +#pragma pack(1) + +ACPI_PLATFORM_MEMORY_TOPOLOGY_TABLE mPmttTable = { + {ACPI_PMTT_TABLE_SIGNATURE, // Signature 'PMTT' + sizeof (ACPI_PLATFORM_MEMORY_TOPOLOGY_TABLE), // Length + ACPI_PMTT_TABLE_REVISION, // Revision + 0x00, // CheckSum + {'I', 'N', 'T', 'E', 'L', ' '}, // OemId + 0, // OemTableId + ACPI_PMTT_OEM_REVISION, // OemRevision + EFI_ACPI_CREATOR_ID, // CreaterId + EFI_ACPI_CREATOR_REVISION}, // CreaterRevision + 0, // NumOfMemoryDevices + { SKT_LEVEL +#if MAX_SOCKET > 1 + SKT_LEVEL +#endif +#if MAX_SOCKET > 2 + SKT_LEVEL +#endif +#if MAX_SOCKET > 3 + SKT_LEVEL +#endif +#if MAX_SOCKET > 4 + SKT_LEVEL +#endif +#if MAX_SOCKET > 5 + SKT_LEVEL +#endif +#if MAX_SOCKET > 6 + SKT_LEVEL +#endif +#if MAX_SOCKET > 7 + SKT_LEVEL +#endif + } +}; + +#pragma pack() + +VOID* +ReferenceAcpiTable ( + VOID + ) +{ + return (VOID*)&mPmttTable; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/SPCR/Spcr.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/SPCR/Spcr.aslc new file mode 100644 index 0000000000..26603102a2 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/SPCR/Spcr.aslc @@ -0,0 +1,89 @@ +/** @file + + @copyright + Copyright 1999 - 2002 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// + +#include <IndustryStandard/Acpi.h> +#include <IndustryStandard/SerialPortConsoleRedirectionTable.h> +#include <Acpi/Spcr.h> + +// +// Serial Port Console Redirection Table +// Please modify all values in Spcr.h only. +// + +EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { + {EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE, + sizeof (EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE), + EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION, + + // + // Checksum will be updated at runtime + // + 0x00, + + // + // It is expected that these values will be programmed at runtime + // + {' ', ' ', ' ', ' ', ' ', ' '}, + + 0, + EFI_ACPI_OEM_SPCR_REVISION, + 0, + 0}, + + // + // Beginning of SPCR specific fields + // + EFI_ACPI_INTERFACE_TYPE, + {EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE}, + + // + // Base Address Block + // + {EFI_ACPI_BASE_ADDRESS_ADDRESS_SPACE_ID, + EFI_ACPI_BASE_ADDRESS_BIT_WIDTH, + EFI_ACPI_BASE_ADDRESS_BIT_OFFSET, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_BASE_ADDRESS_ADDRESS}, + + EFI_ACPI_INTERRUPT_TYPE, + EFI_ACPI_IRQ, + EFI_ACPI_GLOBAL_SYSTEM_INTERRUPT, + EFI_ACPI_BAUD_RATE, + EFI_ACPI_PARITY, + EFI_ACPI_STOP_BITS, + EFI_ACPI_FLOW_CONTROL, + EFI_ACPI_TERMINAL_TYPE, + EFI_ACPI_LANGUAGE, + EFI_ACPI_PCI_DEVICE_ID, + EFI_ACPI_PCI_VENDOR_ID, + EFI_ACPI_PCI_BUS_NUMBER, + EFI_ACPI_PCI_DEVICE_NUMBER, + EFI_ACPI_PCI_FUNCTION_NUMBER, + EFI_ACPI_PCI_FLAGS, + EFI_ACPI_PCI_SEGMENT, + EFI_ACPI_RESERVED_DWORD +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the exeutable + // + return (VOID*)&Spcr; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Spmi/Spmi.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Spmi/Spmi.aslc new file mode 100644 index 0000000000..74855daee4 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Spmi/Spmi.aslc @@ -0,0 +1,53 @@ +/** @file + + @copyright + Copyright 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/Spmi.h> + +// +// Server processor management interface table definition +// +EFI_ACPI_SERVER_PROCESSOR_MANAGEMENT_INTERFACE_TABLE Spmi = { + {EFI_ACPI_6_2_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE, + sizeof (EFI_ACPI_SERVER_PROCESSOR_MANAGEMENT_INTERFACE_TABLE), // Length + EFI_ACPI_SERVER_PROCESSOR_MANAGEMENT_INTERFACE_TABLE_REVISION, // Revision + 0x00, // Checksum will be updated at runtime + {'I', 'N', 'T', 'E', 'L', ' '}, // OemId + 0, // OemTableId + EFI_ACPI_OEM_SPMI_REVISION, // OemRevision + 0, // CreaterId + 0}, // CreaterRevision + // + // Beginning of Spmi specific fields + // + 0x00, // InterfaceType + 0x01, // Reserved37, always 1 + EFI_ACPI_SPMI_SPECIFICATION_REVISION, // SpecificationRevision + 0x00, // InterruptType + 0x00, // GPE + 0x00, // Reserved42 + 0x00, // PciDeviceFlag + 0x00000000, // GlobalSystemInterrupt + {0x00, 0x00, 0x00, 0x00, 0x00}, // GAS + 0x00, // UidByte1 + 0x00, // UidByte2 + 0x00, // UidByte3 + 0x00, // UidByte4 + 0x00 // Reserved64 +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + return (VOID*)&Spmi; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wddt/Wddt1.0.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wddt/Wddt1.0.aslc new file mode 100644 index 0000000000..fe0db504fd --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wddt/Wddt1.0.aslc @@ -0,0 +1,74 @@ +/** @file + + @copyright + Copyright 1999 - 2019 Intel Corporation. <BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +// +// Statements that include other files +// +#include <Acpi/WatchdogDescriptionTable.h> +#include <Acpi/Wddt.h> + +// +// Watchdog Description Table , ACPI 6.2 compliant +// +EFI_ACPI_WATCH_DOG_DESCRIPTION_TABLE Wddt = { + {EFI_ACPI_WDDT_SIGNATURE, + sizeof (EFI_ACPI_WATCH_DOG_DESCRIPTION_TABLE), + EFI_ACPI_WDDT_DESCRIPTION_TABLE_REVISION, + // + // Checksum will be updated at runtime + // + 0x00, + // + // It is expected that these values will be programmed at runtime + // + {' ', + ' ', + ' ', + ' ', + ' ', + ' '}, + 0, + 0, + 0, + 0}, + // + // WDDT specific fields + // + // + // This is LPC bridge VID it must be patched in + // + 0, + EFI_ACPI_WDDT_SPEC_VERSION, + EFI_ACPI_WDDT_TABLE_VERSION, + // + // Base Address + // + {0x01, + 0xff, + 0x00, + 0x00, + // + // This is AcpiBase(PmBase)+60 and must be patched in + // + 0000}, + EFI_ACPI_WDDT_TIMER_MAX_COUNT, + EFI_ACPI_WDDT_TIMER_MIN_VALUE, + EFI_ACPI_WDDT_TIMER_PERIOD_COUNT, + EFI_ACPI_WDDT_STATUS_AVAILABLE, + 00 + +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + return (VOID*)&Wddt; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wsmt/Wsmt.aslc b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wsmt/Wsmt.aslc new file mode 100644 index 0000000000..83484b7cd7 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Wsmt/Wsmt.aslc @@ -0,0 +1,74 @@ +/** @file + + @copyright + Copyright 2017 - 2020 Intel Corporation. + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + + + // + // Statements that include other files + // + +#include <Acpi/Wsmt.h> + + // + // Windows SMM Security Mitigations Table + // Please modify all values in Wsmt.h only. + // + +ACPI_WINDOWS_SMM_SECURITY_MITIGATIONS_TABLE Wsmt = { + // + // Header + // + { + ACPI_WSMT_SIGNATURE, + ACPI_WSMT_LENGTH, + EFI_ACPI_WSMT_REVISION, + + // + // Checksum will be updated at runtime + // + 0x00, + + // + // It is expected that these values will be updated at runtime + // + { ' ', ' ', ' ', ' ', ' ', ' ' }, + 0, + ACPI_OEM_WSMT_REVISION, + 0, + 0 + }, + // + // Protection Flags + // + { + { 0 } + } + +}; + +#if defined (__GNUC__) +VOID* +ReferenceAcpiTable ( + VOID + ) + +{ + // + // Reference the table being generated to prevent the optimizer from removing the + // data structure from the executable + // + return (VOID*)&Wsmt; +} +#else +VOID +main ( + VOID + ) + +{ +} +#endif -- 2.27.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86426): https://edk2.groups.io/g/devel/message/86426 Mute This Topic: https://groups.io/mt/88979439/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-