From nobody Mon Feb 9 06:27:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+86429+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86429+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1644260589; cv=none; d=zohomail.com; s=zohoarc; b=P93CO60G2Qj0sgicE/DCRntEUvjaCcc8gN373Nqv0rVJv0rhkaQcdxt+UoSiNBHcLPreEG2vhzG+F4eQ3icPEuXUz+20XLeWwHWX86eRnMZBNieki1yv2EARtNtm5MdyQ0tEBXBmMxxK0gTLQ3hXBqVQFWkhNYX64lLzcx+KbY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1644260589; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=p7J1qkj51XTX0dnVK0Kh+kIZNUkivsfXFVxkltlMggc=; b=NnLATAy2VrOnrjCHMzPcth3rXdlP7huNt+IyQ7LLUDLiVdiMKtu5BWGQ8j1i8taNhutcIXWZ+XVFBtYKCS/ipiHWdrRalZiDkc3kyuY3abR5cAPg2S6MXGW4x2okN7up0/H+Yia/MTJDyFhhH8HLCKQXbq8iXlSfnsVP32n3BKM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86429+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1644260589568459.48454513160937; Mon, 7 Feb 2022 11:03:09 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id NFwzYY1788612xFYNgGZpDz9; Mon, 07 Feb 2022 11:03:08 -0800 X-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 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" X-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" X-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> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,isaac.w.oram@intel.com X-Gm-Message-State: nnACquVkSXCy8e8TiqaiOjDbx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1644260588; bh=rU+A2imM+JKi7zzfyVOn7mUyLop2oH5UTaVKLXGG6iE=; h=Cc:Date:From:Reply-To:Subject:To; b=uyYdO8mWrCN7QAdHzjAgOocUqDiT3Jrx1Fni7e7boLJuYwFHqb9Rzm4axz6RIVakiSM DxrbHFh5Fdu5wSt87oHGa/XOOx8NL3/foVdLicX0Q4V/VfqMiWo+YTFfA+mrowoggrzRk 4ZYScFyWPeaLQPQCmuERQg8S8u1C5PjOZz8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1644260590443100002 Content-Type: text/plain; charset="utf-8" This driver provides data for boards patching AML, PIRQ, and MP tables. Cc: Nate DeSimone Cc: Chasel Chiu Signed-off-by: Isaac Oram Reviewed-by: Nate DeSimone --- 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/AcpiStatic= Data.c | 54 ++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/DeviceData= Install.c | 100 ++++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/PlatformDe= viceDataSRP10nm.c | 110 ++++++++++++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readme.md = | 19 ++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuD= ataDxe.c | 60 +++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuD= ataDxe.h | 41 ++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/StaticSkuD= ataDxe.inf | 59 +++++++++++ Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaRpBoards.dsc = | 5 + 11 files changed, 536 insertions(+) diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableU= pdateLib.h b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableU= pdateLib.h new file mode 100644 index 0000000000..5aedaf62be --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaMpTableUpdateLi= b.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, 0= x8a } }; + + +typedef struct { + UINT32 Signature; + UINT32 Version; + + DEVICE_DATA *DeviceDataPtr; + +} PLATFORM_MP_UPDATE_TABLE; + +EFI_STATUS +PlatformGetMpTableDataPointer ( + IN DEVICE_DATA **DeviceData +); + +STATIC EFI_GUID gPlatformMpTableConfigDataGuid =3DPLATFORM_MP_TABLE_CONFI= G_DATA_GUID; + +#endif //_UBA_MP_TABLE_UPDATE_LIB_H diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpda= teLib.h b/Platform/Intel/WhitleyOpenBoardPkg/Include/Library/UbaPirqUpdateL= ib.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, 0= xcf } } + + +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 =3D PLATFORM_PIRQ_CONFIG_DATA= _GUID; + +#endif //_UBA_PIRQ_UPDATE_LIB_H diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaDxeRpBoards.fdf b/Pl= atform/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 ## =20 +# +# Currently shared by all platforms +# +INF $(RP_PKG)/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf + # # Platform TypeWilsonCityRP # diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/AcpiStaticData.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticS= kuDataDxe/AcpiStaticData.c new file mode 100644 index 0000000000..c658b9fd28 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/AcpiS= taticData.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 =3D +{ + 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 =3D EFI_SUCCESS; + EFI_HOB_GUID_TYPE *GuidHob; + EFI_PLATFORM_INFO *PlatformInfo; + ACPI_FIX_UPDATE_TABLE *PtrTable; + UINT32 TableSize; + + GuidHob =3D GetFirstGuidHob (&gEfiPlatformInfoGuid); + ASSERT (GuidHob !=3D NULL); + if (GuidHob =3D=3D NULL) { + return EFI_NOT_FOUND; + } + PlatformInfo =3D GET_GUID_HOB_DATA (GuidHob); + + PtrTable =3D &FixupTableUpdate10nm; + TableSize =3D sizeof(FixupTableUpdate10nm); + DEBUG ((DEBUG_INFO, "UBA: Loading Acpi table for ICX\n")); + + Status =3D UbaConfigProtocol->AddData ( + UbaConfigProtocol, + &gPlatformAcpiFixTableGuid, + PtrTable, + TableSize + ); + return Status; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/DeviceDataInstall.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/Stat= icSkuDataDxe/DeviceDataInstall.c new file mode 100644 index 0000000000..dc49390cb2 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Devic= eDataInstall.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 =3D +{ + PLATFORM_PIRQ_UPDATE_SIGNATURE, + PLATFORM_PIRQ_UPDATE_VERSION, + &mPlatformPirqDataPlatformSRP10nm +}; + +EFI_STATUS +InstallPirqData ( + IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol + ) +{ + EFI_STATUS Status =3D EFI_SUCCESS; + PLATFORM_PIRQ_UPDATE_TABLE *PtrTable; + UINT32 TableSize; + EFI_HOB_GUID_TYPE *GuidHob; + EFI_PLATFORM_INFO *PlatformInfo; + + GuidHob =3D GetFirstGuidHob (&gEfiPlatformInfoGuid); + ASSERT (GuidHob !=3D NULL); + if (GuidHob =3D=3D NULL) { + return EFI_NOT_FOUND; + } + PlatformInfo =3D GET_GUID_HOB_DATA (GuidHob); + + PtrTable =3D &PirqUpdate10nm; + TableSize =3D sizeof(PirqUpdate10nm); + DEBUG ((DEBUG_ERROR, "UBA: Loading Pirqupdate table for ICX\n")); + + Status =3D UbaConfigProtocol->AddData ( + UbaConfigProtocol, + &gPlatformPirqConfigDataGuid, + PtrTable, + TableSize + ); + return Status; +} + +extern DEVICE_DATA mDeviceDataPlatformSRP10nm; + +PLATFORM_MP_UPDATE_TABLE MpTableUpdate10nm =3D +{ + PLATFORM_MP_TABLE_UPDATE_SIGNATURE, + PLATFORM_MP_TABLE_UPDATE_VERSION, + &mDeviceDataPlatformSRP10nm +}; + +EFI_STATUS +InstallMpTableData ( + IN UBA_CONFIG_DATABASE_PROTOCOL *UbaConfigProtocol + ) +{ + EFI_STATUS Status =3D EFI_SUCCESS; + PLATFORM_MP_UPDATE_TABLE *PtrTable; + UINT32 TableSize; + EFI_HOB_GUID_TYPE *GuidHob; + EFI_PLATFORM_INFO *PlatformInfo; + + GuidHob =3D GetFirstGuidHob (&gEfiPlatformInfoGuid); + ASSERT (GuidHob !=3D NULL); + if (GuidHob =3D=3D NULL) { + return EFI_NOT_FOUND; + } + PlatformInfo =3D GET_GUID_HOB_DATA (GuidHob); + + PtrTable =3D &MpTableUpdate10nm; + TableSize =3D sizeof(MpTableUpdate10nm); + DEBUG ((DEBUG_ERROR, "UBA: Loading MpTableupdate table for ICX\n")); + + Status =3D UbaConfigProtocol->AddData ( + UbaConfigProtocol, + &gPlatformMpTableConfigDataGuid, + PtrTable, + TableSize + ); + + return Status; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/PlatformDeviceDataSRP10nm.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaM= ain/StaticSkuDataDxe/PlatformDeviceDataSRP10nm.c new file mode 100644 index 0000000000..ed9f80734c --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Platf= ormDeviceDataSRP10nm.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[] =3D { + { + {{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[] =3D { + // + // Legacy IO addresses. + // + { {0}, EfiLegacyMpTableEntryExtSysAddrSpaceMappingIo, 0x0000, = 0x1000 }, +}; + +// +// IRQ priority +// +STATIC EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY IrqPriorityTable1[] =3D { + {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 [] =3D { + { + { + 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 =3D { + DeviceDataHwLocalInt1, sizeof (DeviceDataHwLocalInt1) / sizeof (Device= DataHwLocalInt1[0]), + DeviceDataHwAddrSpace1, sizeof (DeviceDataHwAddrSpace1)/ sizeof (Device= DataHwAddrSpace1[0]) +}; + +// +// Instantiation of platform PIRQ data. +// +PLATFORM_PIRQ_DATA mPlatformPirqDataPlatformSRP10nm =3D { + IrqPriorityTable1, sizeof(IrqPriorityTable1) / sizeof(IrqPriorityTabl= e1[0]), + PirqTableHead1, sizeof(PirqTableHead1) / sizeof(PirqTableHead1[0]) +}; diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/Readme.md b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataD= xe/Readme.md new file mode 100644 index 0000000000..2138810db4 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Readm= e.md @@ -0,0 +1,19 @@ +# **Generating ACPI AML Offset table** + +The StaticSkuDataDxe driver includes AmlOffsetTable.c which contains the A= ML offset table. This Readme captures the build process for this file. + +edk2-platforms/Platform/Intel/WhitleyOpenBoardPkg/WilsonCityRvp/build_boar= d.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 sp= ecific for this build. For WilsonCityRvp: + * The DSDT is WhitleyOpenBoardPkg/Features/Acpi/AcpiTables/Dsdt/EPRPPla= tform10nm.asl + * The generated file is Build/WhitleyOpenBoardPkg/DEBUG_VS2015x86/X64/W= hitleyOpenBoardPkg/WilsonCityRvp/AmlOffsets/AmlOffsets/OUTPUT/WhitleyOpenBo= ardPkg/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/AmlGe= nOffset/AmlGenOffset.py + * Input is Build/WhitleyOpenBoardPkg/DEBUG_VS2015x86/X64/WhitleyOpenBoa= rdPkg/WilsonCityRvp/AmlOffsets/AmlOffsets/OUTPUT/WhitleyOpenBoardPkg/Featur= es/Acpi/AcpiTables/Dsdt/EPRPPlatform10nm.offset.h + * Output is edk2-platforms/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMa= in/StaticSkuDataDxe/AmlOffsetTable.c + +Common Issues: +* The same iasl compiler version must be used to build the AML offset tabl= e 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 *AmlOffs= ets*.inf must all match exactly. diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/StaticSkuDataDxe.c b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/Stati= cSkuDataDxe/StaticSkuDataDxe.c new file mode 100644 index 0000000000..c4f0102f59 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Stati= cSkuDataDxe.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 dr= iver + @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 =3D NULL; + + Status =3D gBS->LocateProtocol ( + &gUbaConfigDatabaseProtocolGuid, + NULL, + &UbaConfigProtocol + ); + if (EFI_ERROR(Status)) { + return Status; + } + + Status =3D InstallMpTableData (UbaConfigProtocol); + if (EFI_ERROR(Status)) { + return Status; + } + + Status =3D InstallPirqData (UbaConfigProtocol); + if (EFI_ERROR(Status)) { + return Status; + } + + Status =3D InstallAcpiFixupTableData (UbaConfigProtocol); + if (EFI_ERROR(Status)) { + return Status; + } + + return Status; +} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDx= e/StaticSkuDataDxe.h b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/Stati= cSkuDataDxe/StaticSkuDataDxe.h new file mode 100644 index 0000000000..e54191d4f7 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Stati= cSkuDataDxe.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/StaticSkuDataDx= e/StaticSkuDataDxe.inf b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/Sta= ticSkuDataDxe/StaticSkuDataDxe.inf new file mode 100644 index 0000000000..97a1931c84 --- /dev/null +++ b/Platform/Intel/WhitleyOpenBoardPkg/Uba/UbaMain/StaticSkuDataDxe/Stati= cSkuDataDxe.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 =3D 0x00010005 + BASE_NAME =3D StaticSkuDataDxeBaseline + FILE_GUID =3D 2C03C058-4305-7829-7E84-C7B3D6232F42 + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.0 + + ENTRY_POINT =3D StaticSkuConfigDataDxeEntry + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D 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/Platf= orm/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 { } =20 [Components.X64] +# +# Currently shared by all platforms +# +$(RP_PKG)/Uba/UbaMain/StaticSkuDataDxe/StaticSkuDataDxe.inf + # # Platform TypeWilsonCityRP # --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86429): https://edk2.groups.io/g/devel/message/86429 Mute This Topic: https://groups.io/mt/88979447/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-