From e2a09790bb4d5c37e6d6cfbcbdc213f7d739df2a Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 26 Oct 2020 09:32:08 +0000 Subject: [PATCH] arm-bsp/edk2-firmware: fix N1SDP build with clang Clang finds more bad code paths than GCC, and edk2 uses -Werror. Pending status because the upstreamed support appears to have been entirely rewritten. Change-Id: I43d4e7f28f0a6acc4ecdd1514402c1b831871b5b Signed-off-by: Ross Burton Signed-off-by: Jon Mason --- .../recipes-bsp/uefi/edk2-firmware-n1sdp.inc | 2 ++ .../uefi/edk2-firmware_git.bbappend | 2 ++ .../recipes-bsp/uefi/files/initialise.patch | 32 +++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 meta-arm-bsp/recipes-bsp/uefi/files/initialise.patch diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc index 518f5046..94f9beb0 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-n1sdp.inc @@ -1,6 +1,8 @@ EDK2_SRC_URI = "git://git.linaro.org/landing-teams/working/arm/edk2.git" EDK2_PLATFORMS_SRC_URI = "git://git.linaro.org/landing-teams/working/arm/edk2-platforms.git" +SRC_URI += "file://initialise.patch" + # TAGS and commit ID as per N1SDP-2020.03.26 release SRCREV_edk2 = "3ff8a6bffabad761279817252014d59b6069d68a" SRCREV_edk2-platforms = "d9d32e6c8b7456d21ce365486ac563b6be36c20d" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_git.bbappend b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_git.bbappend index bef54b07..7bd7aae3 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_git.bbappend +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_git.bbappend @@ -1,3 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + # Include machine specific configurations for UEFI EDK2 MACHINE_EDK2_REQUIRE ?= "" diff --git a/meta-arm-bsp/recipes-bsp/uefi/files/initialise.patch b/meta-arm-bsp/recipes-bsp/uefi/files/initialise.patch new file mode 100644 index 00000000..86fcd154 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/files/initialise.patch @@ -0,0 +1,32 @@ +These variables can be returned without being set, so assign reasonable +fallback values for the error paths. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +From ef296251231a9a646051efbed0d81131f0876e25 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 21 Oct 2020 17:29:17 +0100 +Subject: [PATCH] Add missing Status assignments + +--- + Platform/ARM/Drivers/CcixDxe/CcixEnumeration.c | 2 +- + Platform/ARM/N1SdpPkg/Drivers/PlatformDxe/PlatformDxe.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Platform/ARM/Drivers/CcixDxe/CcixEnumeration.c b/Platform/ARM/Drivers/CcixDxe/CcixEnumeration.c +index b605d9adbd..6b11a8545d 100644 +--- a/edk2-platforms/Platform/ARM/Drivers/CcixDxe/CcixEnumeration.c ++++ b/edk2-platforms/Platform/ARM/Drivers/CcixDxe/CcixEnumeration.c +@@ -684 +684 @@ CcixAgentInit( +- EFI_STATUS Status; ++ EFI_STATUS Status = EFI_ABORTED; +diff --git a/Platform/ARM/N1SdpPkg/Drivers/PlatformDxe/PlatformDxe.c b/Platform/ARM/N1SdpPkg/Drivers/PlatformDxe/PlatformDxe.c +index c828165d07..e1f7f5e8ea 100644 +--- a/edk2-platforms/Platform/ARM/N1SdpPkg/Drivers/PlatformDxe/PlatformDxe.c ++++ b/edk2-platforms/Platform/ARM/N1SdpPkg/Drivers/PlatformDxe/PlatformDxe.c +@@ -26 +26 @@ ArmN1SdpPkgEntryPoint ( +- EFI_STATUS Status; ++ EFI_STATUS Status = EFI_UNSUPPORTED; +-- +2.25.1