From: "Oram, Isaac W" <isaac.w.oram@intel.com>
To: devel@edk2.groups.io
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>,
Chasel Chiu <chasel.chiu@intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 8/8] WhitleyOpenBoardPkg/StaticSkuDataDxe: Add open source driver
Date: Mon, 7 Feb 2022 11:02:45 -0800 [thread overview]
Message-ID: <37622ba9effed0e80e99b384580b181a8f3e10a3.1644259969.git.isaac.w.oram@intel.com> (raw)
In-Reply-To: <cover.1644259969.git.isaac.w.oram@intel.com>
This driver provides data for boards patching AML, PIRQ, and MP tables.
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableUpdateLib.h | 41 ++++++++
Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpdateLib.h | 42 ++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf | 5 +
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AcpiStaticData.c | 54 ++++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/DeviceDataInstall.c | 100 ++++++++++++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/PlatformDeviceDataSRP10nm.c | 110 ++++++++++++++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md | 19 ++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.c | 60 +++++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.h | 41 ++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf | 59 +++++++++++
Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc | 5 +
11 files changed, 536 insertions(+)
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableUpdateLib.h b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableUpdateLib.h
new file mode 100644
index 0000000000..5aedaf62be
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableUpdateLib.h
@@ -0,0 +1,41 @@
+/** @file
+ UBA Mp table Update Library Header File.
+
+ @copyright
+ Copyright 2008 - 2015 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef _UBA_MP_TABLE_UPDATE_LIB_H
+#define _UBA_MP_TABLE_UPDATE_LIB_H
+
+#include <Base.h>
+#include <Uefi.h>
+
+#include <PlatDevData.h>
+
+#define PLATFORM_MP_TABLE_UPDATE_SIGNATURE SIGNATURE_32 ('U', 'M', 'P', 'T')
+#define PLATFORM_MP_TABLE_UPDATE_VERSION 0x01
+
+// {0FF8A1CF-A0AB-4ac0-BFC9-34A78F68DD8A}
+#define PLATFORM_MP_TABLE_CONFIG_DATA_GUID \
+{ 0xff8a1cf, 0xa0ab, 0x4ac0, { 0xbf, 0xc9, 0x34, 0xa7, 0x8f, 0x68, 0xdd, 0x8a } };
+
+
+typedef struct {
+ UINT32 Signature;
+ UINT32 Version;
+
+ DEVICE_DATA *DeviceDataPtr;
+
+} PLATFORM_MP_UPDATE_TABLE;
+
+EFI_STATUS
+PlatformGetMpTableDataPointer (
+ IN DEVICE_DATA **DeviceData
+);
+
+STATIC EFI_GUID gPlatformMpTableConfigDataGuid =PLATFORM_MP_TABLE_CONFIG_DATA_GUID;
+
+#endif //_UBA_MP_TABLE_UPDATE_LIB_H
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpdateLib.h b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpdateLib.h
new file mode 100644
index 0000000000..4261b7b74f
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpdateLib.h
@@ -0,0 +1,42 @@
+/** @file
+ UBA PirqData Update Library Header File.
+
+ @copyright
+ Copyright 2008 - 2014 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef _UBA_PIRQ_UPDATE_LIB_H
+#define _UBA_PIRQ_UPDATE_LIB_H
+
+#include <Base.h>
+#include <Uefi.h>
+
+#include <PlatPirqData.h>
+
+#define PLATFORM_PIRQ_UPDATE_SIGNATURE SIGNATURE_32 ('P', 'I', 'R', 'Q')
+#define PLATFORM_PIRQ_UPDATE_VERSION 0x01
+
+
+// {4C1F48A5-C976-4d90-9F03-8E9B1C327FCF}
+#define PLATFORM_PIRQ_CONFIG_DATA_GUID \
+{ 0x4c1f48a5, 0xc976, 0x4d90, { 0x9f, 0x3, 0x8e, 0x9b, 0x1c, 0x32, 0x7f, 0xcf } }
+
+
+typedef struct {
+ UINT32 Signature;
+ UINT32 Version;
+
+ PLATFORM_PIRQ_DATA *PirqDataPtr;
+
+} PLATFORM_PIRQ_UPDATE_TABLE;
+
+EFI_STATUS
+PlatformGetPirqDataPointer (
+ IN PLATFORM_PIRQ_DATA **PirqData
+);
+
+STATIC EFI_GUID gPlatformPirqConfigDataGuid = PLATFORM_PIRQ_CONFIG_DATA_GUID;
+
+#endif //_UBA_PIRQ_UPDATE_LIB_H
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf
index fcf147885f..7c182db5df 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf
@@ -7,6 +7,11 @@
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
+#
+# Currently shared by all platforms
+#
+INF $(RP_PKG)/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf
+
#
# Platform TypeWilsonCityRP
#
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AcpiStaticData.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AcpiStaticData.c
new file mode 100644
index 0000000000..c658b9fd28
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AcpiStaticData.c
@@ -0,0 +1,54 @@
+/** @file
+ ACPI static data update.
+
+ @copyright
+ Copyright 2013 - 2022 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include "StaticSkuDataDxe.h"
+#include <Library/UbaAcpiUpdateLib.h>
+
+#include "AmlOffsetTable.c" // Generated in PreBuild step
+
+#include <Library/HobLib.h>
+#include <Guid/PlatformInfo.h>
+
+ACPI_FIX_UPDATE_TABLE FixupTableUpdate10nm =
+{
+ PLATFORM_ACPI_FIX_UPDATE_SIGNATURE,
+ PLATFORM_ACPI_FIX_UPDATE_VERSION,
+ &DSDT_EPRP10NM_OffsetTable
+};
+
+EFI_STATUS
+InstallAcpiFixupTableData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+ )
+{
+ EFI_STATUS Status = EFI_SUCCESS;
+ EFI_HOB_GUID_TYPE *GuidHob;
+ EFI_PLATFORM_INFO *PlatformInfo;
+ ACPI_FIX_UPDATE_TABLE *PtrTable;
+ UINT32 TableSize;
+
+ GuidHob = GetFirstGuidHob (&gEfiPlatformInfoGuid);
+ ASSERT (GuidHob != NULL);
+ if (GuidHob == NULL) {
+ return EFI_NOT_FOUND;
+ }
+ PlatformInfo = GET_GUID_HOB_DATA (GuidHob);
+
+ PtrTable = &FixupTableUpdate10nm;
+ TableSize = sizeof(FixupTableUpdate10nm);
+ DEBUG ((DEBUG_INFO, "UBA: Loading Acpi table for ICX\n"));
+
+ Status = UbaConfigProtocol->AddData (
+ UbaConfigProtocol,
+ &gPlatformAcpiFixTableGuid,
+ PtrTable,
+ TableSize
+ );
+ return Status;
+}
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/DeviceDataInstall.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/DeviceDataInstall.c
new file mode 100644
index 0000000000..dc49390cb2
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/DeviceDataInstall.c
@@ -0,0 +1,100 @@
+/** @file
+ Device data installation.
+
+ @copyright
+ Copyright 2014 - 2022 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include "StaticSkuDataDxe.h"
+
+#include <Library/UbaPirqUpdateLib.h>
+#include <Library/UbaMpTableUpdateLib.h>
+
+#include <PlatPirqData.h>
+#include <PlatDevData.h>
+
+#include <Library/HobLib.h>
+#include <Guid/PlatformInfo.h>
+
+extern PLATFORM_PIRQ_DATA mPlatformPirqDataPlatformSRP10nm;
+
+PLATFORM_PIRQ_UPDATE_TABLE PirqUpdate10nm =
+{
+ PLATFORM_PIRQ_UPDATE_SIGNATURE,
+ PLATFORM_PIRQ_UPDATE_VERSION,
+ &mPlatformPirqDataPlatformSRP10nm
+};
+
+EFI_STATUS
+InstallPirqData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+ )
+{
+ EFI_STATUS Status = EFI_SUCCESS;
+ PLATFORM_PIRQ_UPDATE_TABLE *PtrTable;
+ UINT32 TableSize;
+ EFI_HOB_GUID_TYPE *GuidHob;
+ EFI_PLATFORM_INFO *PlatformInfo;
+
+ GuidHob = GetFirstGuidHob (&gEfiPlatformInfoGuid);
+ ASSERT (GuidHob != NULL);
+ if (GuidHob == NULL) {
+ return EFI_NOT_FOUND;
+ }
+ PlatformInfo = GET_GUID_HOB_DATA (GuidHob);
+
+ PtrTable = &PirqUpdate10nm;
+ TableSize = sizeof(PirqUpdate10nm);
+ DEBUG ((DEBUG_ERROR, "UBA: Loading Pirqupdate table for ICX\n"));
+
+ Status = UbaConfigProtocol->AddData (
+ UbaConfigProtocol,
+ &gPlatformPirqConfigDataGuid,
+ PtrTable,
+ TableSize
+ );
+ return Status;
+}
+
+extern DEVICE_DATA mDeviceDataPlatformSRP10nm;
+
+PLATFORM_MP_UPDATE_TABLE MpTableUpdate10nm =
+{
+ PLATFORM_MP_TABLE_UPDATE_SIGNATURE,
+ PLATFORM_MP_TABLE_UPDATE_VERSION,
+ &mDeviceDataPlatformSRP10nm
+};
+
+EFI_STATUS
+InstallMpTableData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+ )
+{
+ EFI_STATUS Status = EFI_SUCCESS;
+ PLATFORM_MP_UPDATE_TABLE *PtrTable;
+ UINT32 TableSize;
+ EFI_HOB_GUID_TYPE *GuidHob;
+ EFI_PLATFORM_INFO *PlatformInfo;
+
+ GuidHob = GetFirstGuidHob (&gEfiPlatformInfoGuid);
+ ASSERT (GuidHob != NULL);
+ if (GuidHob == NULL) {
+ return EFI_NOT_FOUND;
+ }
+ PlatformInfo = GET_GUID_HOB_DATA (GuidHob);
+
+ PtrTable = &MpTableUpdate10nm;
+ TableSize = sizeof(MpTableUpdate10nm);
+ DEBUG ((DEBUG_ERROR, "UBA: Loading MpTableupdate table for ICX\n"));
+
+ Status = UbaConfigProtocol->AddData (
+ UbaConfigProtocol,
+ &gPlatformMpTableConfigDataGuid,
+ PtrTable,
+ TableSize
+ );
+
+ return Status;
+}
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/PlatformDeviceDataSRP10nm.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/PlatformDeviceDataSRP10nm.c
new file mode 100644
index 0000000000..ed9f80734c
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/PlatformDeviceDataSRP10nm.c
@@ -0,0 +1,110 @@
+/** @file
+
+ @copyright
+ Copyright 2017 - 2018 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <PlatPirqData.h>
+#include <PlatDevData.h>
+#include <IndustryStandard/LegacyBiosMpTable.h>
+
+#ifndef V_INTEL_VID
+#define V_INTEL_VID 0x8086
+#endif // #ifndef V_INTEL_VID
+
+//
+// Describes Local APICs' connections.
+//
+STATIC DEVICE_DATA_HW_LOCAL_INT DeviceDataHwLocalInt1[] = {
+ {
+ {{0},{{0xFF,0},{0xFF,0},{0xFF,0}}},
+ 0x00,
+ 0xff,
+ 0x00,
+ EfiLegacyMpTableEntryLocalIntTypeExtInt,
+ EfiLegacyMpTableEntryLocalIntFlagsPolaritySpec,
+ EfiLegacyMpTableEntryLocalIntFlagsTriggerSpec
+ },
+ {
+ {{0},{{0xFF,0},{0xFF,0},{0xFF,0}}},
+ 0x00,
+ 0xff,
+ 0x01,
+ EfiLegacyMpTableEntryLocalIntTypeInt,
+ EfiLegacyMpTableEntryLocalIntFlagsPolaritySpec,
+ EfiLegacyMpTableEntryLocalIntFlagsTriggerSpec
+ },
+};
+
+//
+// Describes system's address space mapping, specific to the system.
+//
+STATIC DEVICE_DATA_HW_ADDR_SPACE_MAPPING DeviceDataHwAddrSpace1[] = {
+ //
+ // Legacy IO addresses.
+ //
+ { {0}, EfiLegacyMpTableEntryExtSysAddrSpaceMappingIo, 0x0000, 0x1000 },
+};
+
+//
+// IRQ priority
+//
+STATIC EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY IrqPriorityTable1[] = {
+ {11, 0},
+ {10, 0},
+ {9, 0},
+ {5, 0},
+ {0, 0},
+ {0, 0},
+ {0, 0}
+};
+
+//
+// Note : UpdateBusNumbers updates the bus numeber
+//
+STATIC EFI_LEGACY_PIRQ_TABLE PirqTableHead1 [] = {
+ {
+ {
+ EFI_PIRQ_TABLE_SIGNATURE,
+ 00,
+ 01,
+ 0000,
+ 00,
+ 00,
+ 0000,
+ V_INTEL_VID,
+ 30,
+ 00000000,
+ {00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00,
+ 00},
+ 00
+ }
+ }
+};
+
+//
+// Instantiation of the system device data.
+//
+DEVICE_DATA mDeviceDataPlatformSRP10nm = {
+ DeviceDataHwLocalInt1, sizeof (DeviceDataHwLocalInt1) / sizeof (DeviceDataHwLocalInt1[0]),
+ DeviceDataHwAddrSpace1, sizeof (DeviceDataHwAddrSpace1)/ sizeof (DeviceDataHwAddrSpace1[0])
+};
+
+//
+// Instantiation of platform PIRQ data.
+//
+PLATFORM_PIRQ_DATA mPlatformPirqDataPlatformSRP10nm = {
+ IrqPriorityTable1, sizeof(IrqPriorityTable1) / sizeof(IrqPriorityTable1[0]),
+ PirqTableHead1, sizeof(PirqTableHead1) / sizeof(PirqTableHead1[0])
+};
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md
new file mode 100644
index 0000000000..2138810db4
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md
@@ -0,0 +1,19 @@
+# **Generating ACPI AML Offset table**
+
+The StaticSkuDataDxe driver includes AmlOffsetTable.c which contains the AML offset table. This Readme captures the build process for this file.
+
+edk2-platforms/Platform/Intel/WhitleyOpenBoardPkg/WilsonCityRvp/build_board.py drives the build since ACPI tables are expected to be board specific.
+
+The AmlOffsetTable.c file is generated in two key steps:
+1. Generate the *Dsdt*.offsets.h where *Dsdt* is the DSDT ASL file name specific for this build. For WilsonCityRvp:
+ * The DSDT is WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Dsdt/EPRPPlatform10nm.asl
+ * The generated file is Build/WhitleyOpenBoardPkg/DEBUG_VS2015x86/X64/WhitleyOpenBoardPkg/WilsonCityRvp/AmlOffsets/AmlOffsets/OUTPUT/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Dsdt/EPRPPlatform10nm.offset.h
+ * These are customized in the build_config.cfg file
+2. Generat the AmlOffsetTable.c using the AmlGenOffset.py script from the MinPlatformPkg. For WilsonCityRvp:
+ * Script is at edk2-platforms/Platform/Intel/MinPlatformPkg/Tools/AmlGenOffset/AmlGenOffset.py
+ * Input is Build/WhitleyOpenBoardPkg/DEBUG_VS2015x86/X64/WhitleyOpenBoardPkg/WilsonCityRvp/AmlOffsets/AmlOffsets/OUTPUT/WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Dsdt/EPRPPlatform10nm.offset.h
+ * Output is edk2-platforms/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AmlOffsetTable.c
+
+Common Issues:
+* The same iasl compiler version must be used to build the AML offset table and to build the DSDT.
+* The Board/*AmlOffsets*.dsc file name, Board/*AmlOffsets* directory name, Board/AmlOffsets/*AmlOffsets*.inf file name, and the BASE_NAME in *AmlOffsets*.inf must all match exactly.
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.c
new file mode 100644
index 0000000000..c4f0102f59
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.c
@@ -0,0 +1,60 @@
+/** @file
+ UBA static sku data update dxe driver.
+
+ @copyright
+ Copyright 2013 - 2014 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include "StaticSkuDataDxe.h"
+
+/**
+ The Driver Entry Point.
+
+ The function is the driver Entry point.
+
+ @param ImageHandle A handle for the image that is initializing this driver
+ @param SystemTable A pointer to the EFI system table
+
+ @retval EFI_SUCCESS: Driver initialized successfully
+ @retval EFI_LOAD_ERROR: Failed to Initialize or has been loaded
+ @retval EFI_OUT_OF_RESOURCES Could not allocate needed resources
+
+**/
+EFI_STATUS
+EFIAPI
+StaticSkuConfigDataDxeEntry (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+)
+{
+ EFI_STATUS Status;
+ UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol = NULL;
+
+ Status = gBS->LocateProtocol (
+ &gUbaConfigDatabaseProtocolGuid,
+ NULL,
+ &UbaConfigProtocol
+ );
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+
+ Status = InstallMpTableData (UbaConfigProtocol);
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+
+ Status = InstallPirqData (UbaConfigProtocol);
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+
+ Status = InstallAcpiFixupTableData (UbaConfigProtocol);
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+
+ return Status;
+}
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.h b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.h
new file mode 100644
index 0000000000..e54191d4f7
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.h
@@ -0,0 +1,41 @@
+/** @file
+ UBA static sku data update dxe driver.
+
+ @copyright
+ Copyright 2013 - 2022 Intel Corporation. <BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef _STATIC_SKU_DATA_DXE_H_
+#define _STATIC_SKU_DATA_DXE_H_
+
+#include <Base.h>
+#include <Uefi.h>
+
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/DebugLib.h>
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/IoLib.h>
+#include <UncoreCommonIncludes.h>
+#include <Protocol/UbaCfgDb.h>
+
+EFI_STATUS
+InstallMpTableData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+);
+
+EFI_STATUS
+InstallPirqData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+);
+
+EFI_STATUS
+InstallAcpiFixupTableData (
+ IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol
+);
+
+#endif // _STATIC_SKU_DATA_DXE_H_
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf
new file mode 100644
index 0000000000..97a1931c84
--- /dev/null
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf
@@ -0,0 +1,59 @@
+## @file
+# Static Board Data DXE Driver.
+#
+# @copyright
+# Copyright 2018 - 2022 Intel Corporation. <BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = StaticSkuDataDxeBaseline
+ FILE_GUID = 2C03C058-4305-7829-7E84-C7B3D6232F42
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+ ENTRY_POINT = StaticSkuConfigDataDxeEntry
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+# VALID_ARCHITECTURES = x64
+#
+
+[Sources]
+ StaticSkuDataDxe.c
+ StaticSkuDataDxe.h
+ DeviceDataInstall.c
+ PlatformDeviceDataSRP10nm.c
+ AcpiStaticData.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ WhitleySiliconPkg/SiliconPkg.dec
+ WhitleySiliconPkg/CpRcPkg.dec
+ WhitleyOpenBoardPkg/PlatformPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ BaseMemoryLib
+ MemoryAllocationLib
+ UefiBootServicesTableLib
+ UefiDriverEntryPoint
+ UefiLib
+ DebugLib
+ IoLib
+ HobLib
+
+[Guids]
+ gEfiPlatformInfoGuid
+
+[Protocols]
+ gUbaConfigDatabaseProtocolGuid
+
+[Depex]
+ gEfiPlatformTypeWilsonCitySMTProtocolGuid OR
+ gEfiPlatformTypeWilsonCityRPProtocolGuid OR
+ gEfiPlatformTypeJunctionCityProtocolGuid
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc
index f37093bccd..48b26de427 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc
@@ -30,6 +30,11 @@ $(RP_PKG)/Uba/BoardInit/Pei/BoardInitPei.inf {
}
[Components.X64]
+#
+# Currently shared by all platforms
+#
+$(RP_PKG)/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf
+
#
# Platform TypeWilsonCityRP
#
--
2.27.0.windows.1
next prev parent reply other threads:[~2022-02-07 19:03 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-07 19:02 [edk2-devel][edk2-platforms][PATCH V1 0/8] Whitley ACPI Tables Oram, Isaac W
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 1/8] MinPlatformPkg/AmlGenOffset: Update for python 3 Oram, Isaac W
2022-02-09 3:20 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 2/8] WhitleyOpenBoardPkg/AcpiTables: Add ACPI Table definitions Oram, Isaac W
2022-02-09 3:20 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 3/8] WhitleyOpenBoardPkg/AcpiTables: South Cluster ASL Oram, Isaac W
2022-02-09 3:21 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 4/8] WhitleyOpenBoardPkg/AcpiTables10nm: Add Static ACPI tables Oram, Isaac W
2022-02-09 3:21 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 5/8] WhitleyOpenBoardPkg/AcpiTables10nm: Add DSDT ACPI table Oram, Isaac W
2022-02-09 3:21 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 6/8] WhitleyOpenBoardPkg/Build: Enable includable build options Oram, Isaac W
2022-02-09 3:21 ` Nate DeSimone
2022-02-07 19:02 ` [edk2-devel][edk2-platforms][PATCH V1 7/8] WhitleyOpenBoardPkg/WilsonCityRvp: Generate AML offset table Oram, Isaac W
2022-02-09 3:21 ` Nate DeSimone
2022-02-07 19:02 ` Oram, Isaac W [this message]
2022-02-09 3:20 ` [edk2-devel][edk2-platforms][PATCH V1 8/8] WhitleyOpenBoardPkg/StaticSkuDataDxe: Add open source driver Nate DeSimone
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=37622ba9effed0e80e99b384580b181a8f3e10a3.1644259969.git.isaac.w.oram@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox