From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web12.444.1644260588103486600 for ; Mon, 07 Feb 2022 11:03:08 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Qh+dbRwf; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644260588; x=1675796588; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9mwVNCoAn8gS+aS/FR14ZuvPEzfKp9ZQLZwTR7BH23I=; b=Qh+dbRwfLiuIMfDzIRE/OChnMvNdqKdWbp5x21C9PNPEBJ86PnzQKxpD zcDJew5iGcvGoxfLt53yYukxggfybm5+FgrdCEAAsC4DzTuG2GkuOWF/e ZlHpyYCZbjcx9hNmMsze5ULr9VmcvmbmqazwwxoGxe8g7z4mWhRc+gGY/ gc8eBnjrxFhsnvOhAJztpt6m7tuJqt1hSvx4FAI29qUY4jShgbPuwy+8I ElhUUHIvyOIo8xehS6WD57NPF22Fea0WMZgLYmYOaX/A3U+nwG43coTcp iM9d3QEDXIXh1GLZOlfUnquMj2Q27CPg8E2LeoyL3v/Dd7enPntSfP/XZ w==; X-IronPort-AV: E=McAfee;i="6200,9189,10250"; a="248737316" X-IronPort-AV: E=Sophos;i="5.88,350,1635231600"; d="scan'208";a="248737316" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Feb 2022 11:02:52 -0800 X-IronPort-AV: E=Sophos;i="5.88,350,1635231600"; d="scan'208";a="567583965" Received: from iworam-desk.amr.corp.intel.com ([10.7.150.79]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Feb 2022 11:02:52 -0800 From: "Oram, Isaac W" To: devel@edk2.groups.io Cc: Nate DeSimone , Chasel Chiu Subject: [edk2-devel][edk2-platforms][PATCH V1 8/8] WhitleyOpenBoardPkg/StaticSkuDataDxe: Add open source driver Date: Mon, 7 Feb 2022 11:02:45 -0800 Message-Id: <37622ba9effed0e80e99b384580b181a8f3e10a3.1644259969.git.isaac.w.oram@intel.com> X-Mailer: git-send-email 2.27.0.windows.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This driver provides data for boards patching AML, PIRQ, and MP tables. Cc: Nate DeSimone Cc: Chasel Chiu Signed-off-by: Isaac Oram --- 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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef _UBA_MP_TABLE_UPDATE_LIB_H +#define _UBA_MP_TABLE_UPDATE_LIB_H + +#include +#include + +#include + +#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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef _UBA_PIRQ_UPDATE_LIB_H +#define _UBA_PIRQ_UPDATE_LIB_H + +#include +#include + +#include + +#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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include "StaticSkuDataDxe.h" +#include + +#include "AmlOffsetTable.c" // Generated in PreBuild step + +#include +#include + +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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include "StaticSkuDataDxe.h" + +#include +#include + +#include +#include + +#include +#include + +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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include +#include +#include + +#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.
+ + 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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef _STATIC_SKU_DATA_DXE_H_ +#define _STATIC_SKU_DATA_DXE_H_ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +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.
+# +# 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