Static ACPI tables for WilsonCityRvp
Cc: Nate DeSimone <[email protected]>
Cc: Chasel Chiu <[email protected]>
Signed-off-by: Isaac Oram <[email protected]>
---
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: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-