From patchwork Mon Aug 7 15:16:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 28500 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6CCEC04A6A for ; Mon, 7 Aug 2023 15:16:33 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.37164.1691421392583145348 for ; Mon, 07 Aug 2023 08:16:33 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 16DACD75 for ; Mon, 7 Aug 2023 08:17:15 -0700 (PDT) Received: from debian.lan?044arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 0B9E13F59C for ; Mon, 7 Aug 2023 08:16:32 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 2/6] arm/edk2: move 202211 recipe to meta-arm-bsp Date: Mon, 7 Aug 2023 10:16:16 -0500 Message-Id: <20230807151620.3597527-2-jon.mason@arm.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230807151620.3597527-1-jon.mason@arm.com> References: <20230807151620.3597527-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 07 Aug 2023 15:16:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/4935 202211 is only used in meta-arm-bsp, and all other users should be using the latest version. Move it there until n1sdp can be updated to the latest. Signed-off-by: Jon Mason --- .../recipes-bsp/uefi/edk2-firmware_202211.bb | 2 +- ...g-QemuVirtMemInfoLib-use-HOB-not-PCD.patch | 290 ++++++++++++++++++ ...g-ArmVirtQemu-omit-PCD-PEIM-unless-T.patch | 89 ++++++ .../recipes-bsp/uefi/files/default.patch | 23 ++ 4 files changed, 403 insertions(+), 1 deletion(-) rename {meta-arm => meta-arm-bsp}/recipes-bsp/uefi/edk2-firmware_202211.bb (76%) create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/0002-Revert-ArmVirtPkg-ArmVirtQemu-omit-PCD-PEIM-unless-T.patch create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/default.patch diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb similarity index 76% rename from meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb rename to meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb index 386bed4b..378f5854 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware_202211.bb +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_202211.bb @@ -1,4 +1,4 @@ SRCREV_edk2 ?= "fff6d81270b57ee786ea18ad74f43149b9f03494" SRCREV_edk2-platforms ?= "982212662c71b6c734b7578526071d6b78da3bcc" -require edk2-firmware.inc +require recipes-bsp/uefi/edk2-firmware.inc diff --git a/meta-arm-bsp/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch b/meta-arm-bsp/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch new file mode 100644 index 00000000..824c6ccb --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch @@ -0,0 +1,290 @@ +From 44b69c8d7c8ed665b4f8d8a9953ea23a731d221f Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 10 Mar 2023 18:46:49 +0000 +Subject: [PATCH] Revert "ArmVirtPkg/QemuVirtMemInfoLib: use HOB not PCD to + record the memory size" + +This reverts commit 7136d5491e225c57f1d73e4a1b7ac27ed656ff72. + +Upstream-Status: Inappropriate [other] +Signed-off-by: Jon Mason + +--- + ArmVirtPkg/ArmVirtPkg.dec | 1 - + ArmVirtPkg/ArmVirtQemu.dsc | 6 ++-- + .../ArmVirtMemoryInitPeiLib.c | 14 ++------ + .../ArmVirtMemoryInitPeiLib.inf | 1 - + .../QemuVirtMemInfoLib/QemuVirtMemInfoLib.c | 35 ++----------------- + .../QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf | 5 +-- + .../QemuVirtMemInfoPeiLib.inf | 8 ++--- + .../QemuVirtMemInfoPeiLibConstructor.c | 30 +++++++--------- + 8 files changed, 25 insertions(+), 75 deletions(-) + +diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec +index 4645c91a83..d2d325d71e 100644 +--- a/ArmVirtPkg/ArmVirtPkg.dec ++++ b/ArmVirtPkg/ArmVirtPkg.dec +@@ -32,7 +32,6 @@ + gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } } + gEarlyPL011BaseAddressGuid = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } } + gEarly16550UartBaseAddressGuid = { 0xea67ca3e, 0x1f54, 0x436b, { 0x97, 0x88, 0xd4, 0xeb, 0x29, 0xc3, 0x42, 0x67 } } +- gArmVirtSystemMemorySizeGuid = { 0x504eccb9, 0x1bf0, 0x4420, { 0x86, 0x5d, 0xdc, 0x66, 0x06, 0xd4, 0x13, 0xbf } } + + [PcdsFeatureFlag] + # +diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc +index 72a0cacab4..2e786dad12 100644 +--- a/ArmVirtPkg/ArmVirtQemu.dsc ++++ b/ArmVirtPkg/ArmVirtQemu.dsc +@@ -226,9 +226,6 @@ + # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated + gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE + +- # System Memory Size -- 128 MB initially, actual size will be fetched from DT +- gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000 +- + [PcdsFixedAtBuild.AARCH64] + # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point, + # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the +@@ -245,6 +242,9 @@ + # enumeration to complete before installing ACPI tables. + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE + ++ # System Memory Size -- 1 MB initially, actual size will be fetched from DT ++ gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000 ++ + gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0 + gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0 + gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0 +diff --git a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c +index 72e5c65af7..98d90ad420 100644 +--- a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c ++++ b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c +@@ -52,19 +52,10 @@ MemoryPeim ( + { + EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttributes; + UINT64 SystemMemoryTop; +- UINT64 SystemMemorySize; +- VOID *Hob; + + // Ensure PcdSystemMemorySize has been set + ASSERT (PcdGet64 (PcdSystemMemorySize) != 0); + +- SystemMemorySize = PcdGet64 (PcdSystemMemorySize); +- +- Hob = GetFirstGuidHob (&gArmVirtSystemMemorySizeGuid); +- if (Hob != NULL) { +- SystemMemorySize = *(UINT64 *)GET_GUID_HOB_DATA (Hob); +- } +- + // + // Now, the permanent memory has been installed, we can call AllocatePages() + // +@@ -75,7 +66,8 @@ MemoryPeim ( + EFI_RESOURCE_ATTRIBUTE_TESTED + ); + +- SystemMemoryTop = PcdGet64 (PcdSystemMemoryBase) + SystemMemorySize; ++ SystemMemoryTop = PcdGet64 (PcdSystemMemoryBase) + ++ PcdGet64 (PcdSystemMemorySize); + + if (SystemMemoryTop - 1 > MAX_ALLOC_ADDRESS) { + BuildResourceDescriptorHob ( +@@ -95,7 +87,7 @@ MemoryPeim ( + EFI_RESOURCE_SYSTEM_MEMORY, + ResourceAttributes, + PcdGet64 (PcdSystemMemoryBase), +- SystemMemorySize ++ PcdGet64 (PcdSystemMemorySize) + ); + } + +diff --git a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf +index 48d9c66b22..21327f79f4 100644 +--- a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf ++++ b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf +@@ -34,7 +34,6 @@ + CacheMaintenanceLib + + [Guids] +- gArmVirtSystemMemorySizeGuid + gEfiMemoryTypeInformationGuid + + [FeaturePcd] +diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c +index 9cf43f06c0..cf569bed99 100644 +--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c ++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c +@@ -6,12 +6,10 @@ + + **/ + +-#include +-#include ++#include + #include + #include + #include +-#include + #include + + // Number of Virtual Memory Map Descriptors +@@ -26,28 +24,6 @@ + #define MACH_VIRT_PERIPH_BASE 0x08000000 + #define MACH_VIRT_PERIPH_SIZE SIZE_128MB + +-/** +- Default library constructur that obtains the memory size from a PCD. +- +- @return Always returns RETURN_SUCCESS +- +-**/ +-RETURN_STATUS +-EFIAPI +-QemuVirtMemInfoLibConstructor ( +- VOID +- ) +-{ +- UINT64 Size; +- VOID *Hob; +- +- Size = PcdGet64 (PcdSystemMemorySize); +- Hob = BuildGuidDataHob (&gArmVirtSystemMemorySizeGuid, &Size, sizeof Size); +- ASSERT (Hob != NULL); +- +- return RETURN_SUCCESS; +-} +- + /** + Return the Virtual Memory Map of your platform + +@@ -67,16 +43,9 @@ ArmVirtGetMemoryMap ( + ) + { + ARM_MEMORY_REGION_DESCRIPTOR *VirtualMemoryTable; +- VOID *MemorySizeHob; + + ASSERT (VirtualMemoryMap != NULL); + +- MemorySizeHob = GetFirstGuidHob (&gArmVirtSystemMemorySizeGuid); +- ASSERT (MemorySizeHob != NULL); +- if (MemorySizeHob == NULL) { +- return; +- } +- + VirtualMemoryTable = AllocatePool ( + sizeof (ARM_MEMORY_REGION_DESCRIPTOR) * + MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS +@@ -90,7 +59,7 @@ ArmVirtGetMemoryMap ( + // System DRAM + VirtualMemoryTable[0].PhysicalBase = PcdGet64 (PcdSystemMemoryBase); + VirtualMemoryTable[0].VirtualBase = VirtualMemoryTable[0].PhysicalBase; +- VirtualMemoryTable[0].Length = *(UINT64 *)GET_GUID_HOB_DATA (MemorySizeHob); ++ VirtualMemoryTable[0].Length = PcdGet64 (PcdSystemMemorySize); + VirtualMemoryTable[0].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK; + + DEBUG (( +diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf +index 6acad8bbd7..7150de6c10 100644 +--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf ++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf +@@ -14,7 +14,6 @@ + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = ArmVirtMemInfoLib +- CONSTRUCTOR = QemuVirtMemInfoLibConstructor + + [Sources] + QemuVirtMemInfoLib.c +@@ -31,9 +30,7 @@ + BaseMemoryLib + DebugLib + MemoryAllocationLib +- +-[Guids] +- gArmVirtSystemMemorySizeGuid ++ PcdLib + + [Pcd] + gArmTokenSpaceGuid.PcdFvBaseAddress +diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf +index f045e39a41..7ecf6dfbb7 100644 +--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf ++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf +@@ -32,16 +32,16 @@ + BaseMemoryLib + DebugLib + FdtLib ++ PcdLib + MemoryAllocationLib + +-[Guids] +- gArmVirtSystemMemorySizeGuid +- +-[FixedPcd] ++[Pcd] + gArmTokenSpaceGuid.PcdFdBaseAddress + gArmTokenSpaceGuid.PcdFvBaseAddress + gArmTokenSpaceGuid.PcdSystemMemoryBase + gArmTokenSpaceGuid.PcdSystemMemorySize ++ ++[FixedPcd] + gArmTokenSpaceGuid.PcdFdSize + gArmTokenSpaceGuid.PcdFvSize + gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress +diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c +index c47ab82966..33d3597d57 100644 +--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c ++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c +@@ -6,10 +6,9 @@ + + **/ + +-#include +-#include ++#include + #include +-#include ++#include + #include + + RETURN_STATUS +@@ -18,14 +17,14 @@ QemuVirtMemInfoPeiLibConstructor ( + VOID + ) + { +- VOID *DeviceTreeBase; +- INT32 Node, Prev; +- UINT64 NewBase, CurBase; +- UINT64 NewSize, CurSize; +- CONST CHAR8 *Type; +- INT32 Len; +- CONST UINT64 *RegProp; +- VOID *Hob; ++ VOID *DeviceTreeBase; ++ INT32 Node, Prev; ++ UINT64 NewBase, CurBase; ++ UINT64 NewSize, CurSize; ++ CONST CHAR8 *Type; ++ INT32 Len; ++ CONST UINT64 *RegProp; ++ RETURN_STATUS PcdStatus; + + NewBase = 0; + NewSize = 0; +@@ -87,13 +86,8 @@ QemuVirtMemInfoPeiLibConstructor ( + // Make sure the start of DRAM matches our expectation + // + ASSERT (FixedPcdGet64 (PcdSystemMemoryBase) == NewBase); +- +- Hob = BuildGuidDataHob ( +- &gArmVirtSystemMemorySizeGuid, +- &NewSize, +- sizeof NewSize +- ); +- ASSERT (Hob != NULL); ++ PcdStatus = PcdSet64S (PcdSystemMemorySize, NewSize); ++ ASSERT_RETURN_ERROR (PcdStatus); + + // + // We need to make sure that the machine we are running on has at least diff --git a/meta-arm-bsp/recipes-bsp/uefi/files/0002-Revert-ArmVirtPkg-ArmVirtQemu-omit-PCD-PEIM-unless-T.patch b/meta-arm-bsp/recipes-bsp/uefi/files/0002-Revert-ArmVirtPkg-ArmVirtQemu-omit-PCD-PEIM-unless-T.patch new file mode 100644 index 00000000..64e85ab1 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/files/0002-Revert-ArmVirtPkg-ArmVirtQemu-omit-PCD-PEIM-unless-T.patch @@ -0,0 +1,89 @@ +From caef501f2c05ba2170d0a449856900919021d6f6 Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 10 Mar 2023 18:47:09 +0000 +Subject: [PATCH] Revert "ArmVirtPkg/ArmVirtQemu: omit PCD PEIM unless TPM + support is enabled" + +This reverts commit b6efc505e4d6eb2055a39afd0a1ee67846a1e5f9. + +Upstream-Status: Inappropriate [other] +Signed-off-by: Jon Mason + +--- + ArmVirtPkg/ArmVirtQemu.dsc | 22 +++++----------------- + ArmVirtPkg/ArmVirtQemu.fdf | 2 +- + 2 files changed, 6 insertions(+), 18 deletions(-) + +diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc +index 2e786dad12..0f8157a032 100644 +--- a/ArmVirtPkg/ArmVirtQemu.dsc ++++ b/ArmVirtPkg/ArmVirtQemu.dsc +@@ -293,15 +293,10 @@ + # + # TPM2 support + # +-!if $(TPM2_ENABLE) == TRUE + gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0 ++!if $(TPM2_ENABLE) == TRUE + gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0 +-!else +-[PcdsPatchableInModule] +- # make this PCD patchable instead of dynamic when TPM support is not enabled +- # this permits setting the PCD in unreachable code without pulling in dynamic PCD support +- gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0 + !endif + + [PcdsDynamicHii] +@@ -314,13 +309,6 @@ + + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5 + +-[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM] +-!if $(TPM2_ENABLE) == TRUE +- PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf +-!else +- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf +-!endif +- + ################################################################################ + # + # Components Section - list of all EDK II Modules needed by this Platform +@@ -332,6 +320,10 @@ + # + ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf + MdeModulePkg/Core/Pei/PeiMain.inf ++ MdeModulePkg/Universal/PCD/Pei/Pcd.inf { ++ ++ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf ++ } + ArmPlatformPkg/PlatformPei/PlatformPeim.inf + ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf { + +@@ -342,10 +334,6 @@ + ArmPkg/Drivers/CpuPei/CpuPei.inf + + !if $(TPM2_ENABLE) == TRUE +- MdeModulePkg/Universal/PCD/Pei/Pcd.inf { +- +- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf +- } + MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf { + + ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf +diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf +index 764f652afd..c85e36b185 100644 +--- a/ArmVirtPkg/ArmVirtQemu.fdf ++++ b/ArmVirtPkg/ArmVirtQemu.fdf +@@ -109,10 +109,10 @@ READ_LOCK_STATUS = TRUE + INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf + INF ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf + INF ArmPkg/Drivers/CpuPei/CpuPei.inf ++ INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf + INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf + + !if $(TPM2_ENABLE) == TRUE +- INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf + INF MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf + INF OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf + INF SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf diff --git a/meta-arm-bsp/recipes-bsp/uefi/files/default.patch b/meta-arm-bsp/recipes-bsp/uefi/files/default.patch new file mode 100644 index 00000000..fca232f0 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/files/default.patch @@ -0,0 +1,23 @@ +Platform/ARM: fix uninitialized variable FileSize in RunAxf + +Clang 14 detects a potentially uninitialized variable FileSize: + +RunAxf.c:216:11: error: variable 'FileSize' is used uninitialized + whenever 'if' condition is false +RunAxf.c:281:38: note: uninitialized use occurs here +WriteBackDataCacheRange (FileData, FileSize); + ^~~~~~~~ + +Reading the code it doesn't look like this can actually happen, but we +can keep clang happy by initialising FileSize to 0. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c b/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c +index d23739ad38..fba5e0ba30 100644 +--- a/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c ++++ b/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c +@@ -136,1 +136,1 @@ ShellDynCmdRunAxfHandler ( +- UINTN FileSize; ++ UINTN FileSize = 0;