From patchwork Mon Jan 12 19:04:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 78540 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 D4F52CF45CB for ; Mon, 12 Jan 2026 19:05:05 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.40733.1768244698561424452 for ; Mon, 12 Jan 2026 11:04:58 -0800 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 50046497 for ; Mon, 12 Jan 2026 11:04:51 -0800 (PST) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E642B3F694 for ; Mon, 12 Jan 2026 11:04:57 -0800 (PST) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 1/2] arm/trusted-firmware-a: add v2.14.0 support Date: Mon, 12 Jan 2026 14:04:56 -0500 Message-ID: <20260112190457.93847-1-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 12 Jan 2026 19:05:05 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6838 Add support for v2.14.0, and update corstone1000 config and patches to use it. TF-A seems to have changed their poetry settings from POETRY to host-poetry (when specifying an alternative location/disabling). So, it is necessary to modify that for all platforms using COT and v2.14.0 NOTE: sbsa-ref is having issues with fip.bin being too large. So, set the version to the LTS until that is resolved. Signed-off-by: Jon Mason --- .../conf/machine/include/corstone1000.inc | 4 +- meta-arm-bsp/conf/machine/sbsa-ref.conf | 4 ++ .../parselogs-ignores-corstone1000-fvp.txt | 1 + ...01-Fix-FF-A-version-in-SPMC-manifest.patch | 2 +- ...corstone1000-add-Cortex-A320-support.patch | 30 ++++------- ...-requirement-tests-for-Corstone-1000.patch | 33 ------------ ...orstone1000-Add-Cortex-A320-support.patch} | 52 ++++++++----------- .../trusted-firmware-a/tf-a-tests_%.bbappend | 6 +-- .../trusted-firmware-a-corstone1000.inc | 2 +- .../trusted-firmware-a-fvp-base.inc | 2 +- .../trusted-firmware-a/cot-dt2c_0.1.0.bb | 6 +-- ...re-enable-console-by-default-in-BL31.patch | 46 ---------------- ...quire-the-GICC-frame-to-be-defined-o.patch | 45 ---------------- ...ive_2.13.0.bb => fiptool-native_2.14.0.bb} | 6 +-- ...a-tests_2.13.0.bb => tf-a-tests_2.14.0.bb} | 2 +- .../trusted-firmware-a/trusted-firmware-a.inc | 2 +- .../trusted-firmware-a_2.13.0.bb | 20 ------- .../trusted-firmware-a_2.14.0.bb | 16 ++++++ .../trusted-firmware-a_git.bb | 10 ++-- 19 files changed, 73 insertions(+), 216 deletions(-) delete mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-fix-exclude-Boot-requirement-tests-for-Corstone-1000.patch rename meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/{0002-plat-corstone1000-Add-Cortex-A320-support.patch => 0001-plat-corstone1000-Add-Cortex-A320-support.patch} (79%) delete mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/files/0001-fix-arm-re-enable-console-by-default-in-BL31.patch delete mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/files/0002-fix-css-don-t-require-the-GICC-frame-to-be-defined-o.patch rename meta-arm/recipes-bsp/trusted-firmware-a/{fiptool-native_2.13.0.bb => fiptool-native_2.14.0.bb} (85%) rename meta-arm/recipes-bsp/trusted-firmware-a/{tf-a-tests_2.13.0.bb => tf-a-tests_2.14.0.bb} (96%) delete mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.14.0.bb diff --git a/meta-arm-bsp/conf/machine/include/corstone1000.inc b/meta-arm-bsp/conf/machine/include/corstone1000.inc index 25a330def46e..e3c726e5f15a 100644 --- a/meta-arm-bsp/conf/machine/include/corstone1000.inc +++ b/meta-arm-bsp/conf/machine/include/corstone1000.inc @@ -9,8 +9,8 @@ PREFERRED_VERSION_trusted-firmware-m ?= "2.2.%" # TF-A TFA_PLATFORM = "corstone1000" -PREFERRED_VERSION_trusted-firmware-a ?= "2.13.%" -PREFERRED_VERSION_tf-a-tests ?= "2.13.%" +PREFERRED_VERSION_trusted-firmware-a ?= "2.14.%" +PREFERRED_VERSION_tf-a-tests ?= "2.14.%" TFA_BL2_BINARY = "bl2-corstone1000.bin" TFA_FIP_BINARY = "fip-corstone1000.bin" diff --git a/meta-arm-bsp/conf/machine/sbsa-ref.conf b/meta-arm-bsp/conf/machine/sbsa-ref.conf index 3f93b6929121..eefbb2e9cac2 100644 --- a/meta-arm-bsp/conf/machine/sbsa-ref.conf +++ b/meta-arm-bsp/conf/machine/sbsa-ref.conf @@ -25,6 +25,10 @@ EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boo SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" +# FIXME - when compiling edk2, we're seeing an error of fip.bin being larger than the region size. +# Pin the version back until this can be resolved +PREFERRED_VERSION_trusted-firmware-a ?= "2.12.%" + EXTRA_IMAGEDEPENDS += "edk2-firmware" # FIXME - Currently seeing a kernel warning for the CPU topology when bumping # the version past this. The issue is being tracked in diff --git a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-corstone1000-fvp.txt b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-corstone1000-fvp.txt index 63cef943e792..5e70422a5ab9 100644 --- a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-corstone1000-fvp.txt +++ b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-corstone1000-fvp.txt @@ -6,3 +6,4 @@ psci: failed to boot CPU3 (-95) CPU3: failed to boot: -95 ARM FF-A: Notification setup failed -95, not enabled ARM FF-A: Failed to register driver sched callback -95 +basic-mmio-gpio: Failed to locate of_node [id: -2] diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0001-Fix-FF-A-version-in-SPMC-manifest.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0001-Fix-FF-A-version-in-SPMC-manifest.patch index 6d5114e1c160..367468da0e7b 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0001-Fix-FF-A-version-in-SPMC-manifest.patch +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0001-Fix-FF-A-version-in-SPMC-manifest.patch @@ -1,4 +1,4 @@ -From adaa22bc2f529bb34e9d4fe89ff5c65f0c83ca0c Mon Sep 17 00:00:00 2001 +From efce372dfac4ccef239b67abb4ec1cc450096329 Mon Sep 17 00:00:00 2001 From: emeara01 Date: Wed, 11 May 2022 14:37:06 +0100 Subject: [PATCH] Fix FF-A version in SPMC manifest diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-plat-corstone1000-add-Cortex-A320-support.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-plat-corstone1000-add-Cortex-A320-support.patch index 1a9f24e323c5..a9b6d8322238 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-plat-corstone1000-add-Cortex-A320-support.patch +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/0002-plat-corstone1000-add-Cortex-A320-support.patch @@ -1,4 +1,4 @@ -From 977f06e10e549d01a641a62a1d4850a06d6f0df4 Mon Sep 17 00:00:00 2001 +From 4e23e72e65481fe917d8a0af355b3b7669d5acb6 Mon Sep 17 00:00:00 2001 From: Harsimran Singh Tungal Date: Thu, 7 Aug 2025 10:05:02 +0000 Subject: [PATCH] plat: corstone1000: add Cortex-A320 support @@ -41,12 +41,12 @@ Signed-off-by: Michael Safwat .../common/corstone1000_helpers.S | 35 ++++++++++++++++++- .../corstone1000/common/corstone1000_plat.c | 4 +++ .../corstone1000/common/corstone1000_pm.c | 8 +++++ - .../common/include/platform_def.h | 28 ++++++++++++++- + .../common/include/platform_def.h | 26 ++++++++++++++ plat/arm/board/corstone1000/platform.mk | 11 ++++++ - 5 files changed, 84 insertions(+), 2 deletions(-) + 5 files changed, 83 insertions(+), 1 deletion(-) diff --git a/plat/arm/board/corstone1000/common/corstone1000_helpers.S b/plat/arm/board/corstone1000/common/corstone1000_helpers.S -index a4ca9fe98..665dbc61a 100644 +index a4ca9fe98223..665dbc61a92e 100644 --- a/plat/arm/board/corstone1000/common/corstone1000_helpers.S +++ b/plat/arm/board/corstone1000/common/corstone1000_helpers.S @@ -1,5 +1,5 @@ @@ -97,7 +97,7 @@ index a4ca9fe98..665dbc61a 100644 * void plat_secondary_cold_boot_setup (void); * diff --git a/plat/arm/board/corstone1000/common/corstone1000_plat.c b/plat/arm/board/corstone1000/common/corstone1000_plat.c -index e388c82f3..d34e80b29 100644 +index e388c82f311b..d34e80b29bb0 100644 --- a/plat/arm/board/corstone1000/common/corstone1000_plat.c +++ b/plat/arm/board/corstone1000/common/corstone1000_plat.c @@ -26,6 +26,10 @@ const mmap_region_t plat_arm_mmap[] = { @@ -112,7 +112,7 @@ index e388c82f3..d34e80b29 100644 }; diff --git a/plat/arm/board/corstone1000/common/corstone1000_pm.c b/plat/arm/board/corstone1000/common/corstone1000_pm.c -index ac808873b..a87697e97 100644 +index ac808873b9e7..a87697e97f11 100644 --- a/plat/arm/board/corstone1000/common/corstone1000_pm.c +++ b/plat/arm/board/corstone1000/common/corstone1000_pm.c @@ -8,7 +8,11 @@ @@ -140,16 +140,9 @@ index ac808873b..a87697e97 100644 /* Flush and invalidate data cache */ dcsw_op_all(DCCISW); diff --git a/plat/arm/board/corstone1000/common/include/platform_def.h b/plat/arm/board/corstone1000/common/include/platform_def.h -index caf3d462f..ee0babbf8 100644 +index 200383475c80..ffb1e2dec0e1 100644 --- a/plat/arm/board/corstone1000/common/include/platform_def.h +++ b/plat/arm/board/corstone1000/common/include/platform_def.h -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved. -+ * Copyright (c) 2021-2025, Arm Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ @@ -112,12 +112,19 @@ #define ARM_SHARED_RAM_SIZE (SZ_8K) /* 8 KB */ #define ARM_SHARED_RAM_BASE ARM_TRUSTED_SRAM_BASE @@ -170,7 +163,7 @@ index caf3d462f..ee0babbf8 100644 #define PLAT_ARM_MAX_BL2_SIZE (180 * SZ_1K) /* 180 KB */ -@@ -209,8 +216,13 @@ +@@ -208,8 +215,13 @@ #define MAX_IO_BLOCK_DEVICES 1 /* GIC related constants */ @@ -184,7 +177,7 @@ index caf3d462f..ee0babbf8 100644 /* MHUv2 Secure Channel receiver and sender */ #define PLAT_SDK700_MHU0_SEND 0x1B800000 -@@ -335,6 +347,20 @@ +@@ -334,6 +346,20 @@ CORSTONE1000_DEVICE_BASE, \ CORSTONE1000_DEVICE_SIZE, \ MT_DEVICE | MT_RW | MT_SECURE) @@ -206,7 +199,7 @@ index caf3d462f..ee0babbf8 100644 #define ARM_IRQ_SEC_PHY_TIMER 29 diff --git a/plat/arm/board/corstone1000/platform.mk b/plat/arm/board/corstone1000/platform.mk -index 65be9c1f5..fe3e94865 100644 +index 65be9c1f5ad7..fe3e94865fca 100644 --- a/plat/arm/board/corstone1000/platform.mk +++ b/plat/arm/board/corstone1000/platform.mk @@ -9,7 +9,14 @@ ifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),) @@ -236,6 +229,3 @@ index 65be9c1f5..fe3e94865 100644 BL2_SOURCES += plat/arm/board/corstone1000/common/corstone1000_security.c \ plat/arm/board/corstone1000/common/corstone1000_err.c \ --- -2.50.1 - diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-fix-exclude-Boot-requirement-tests-for-Corstone-1000.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-fix-exclude-Boot-requirement-tests-for-Corstone-1000.patch deleted file mode 100644 index 8df0e8cf91af..000000000000 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-fix-exclude-Boot-requirement-tests-for-Corstone-1000.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 328bfd8cd95bb0973e4966dcb4e3efa05d62f3f9 Mon Sep 17 00:00:00 2001 -From: Christophe Thiblot -Date: Wed, 2 Jul 2025 15:03:55 +0000 -Subject: [PATCH] fix: exclude Boot requirement tests for Corstone-1000 - -A test compares the value of the Generic Timer register CNTFRQ visible in -two frames CNTBaseN and CNTCTLBase that are linked in Armv8-A and reflect -the same value. - -An issue in Corstone-1000 (errata 2142118) makes the CNTFRQ views -inconsistents and the then test fails. There is no workaround and -the test is skipped. - -Errata: https://developer.arm.com/documentation/sden2142076/0002/?lang=en - -Signed-off-by: Christophe Thiblot -Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-A/tf-a-tests/+/40810] ---- - plat/arm/corstone1000/tests_to_skip.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/plat/arm/corstone1000/tests_to_skip.txt b/plat/arm/corstone1000/tests_to_skip.txt -index d937e42..afa3992 100644 ---- a/plat/arm/corstone1000/tests_to_skip.txt -+++ b/plat/arm/corstone1000/tests_to_skip.txt -@@ -16,3 +16,4 @@ PSCI CPU Suspend in OSI mode - PSCI STAT/for valid composite state CPU suspend - FF-A Setup and Discovery/FF-A RXTX remap unmapped region success - FF-A Memory Sharing/Normal World VM retrieve request into SPMC -+Boot requirement tests --- -2.43.0 - diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0002-plat-corstone1000-Add-Cortex-A320-support.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-plat-corstone1000-Add-Cortex-A320-support.patch similarity index 79% rename from meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0002-plat-corstone1000-Add-Cortex-A320-support.patch rename to meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-plat-corstone1000-Add-Cortex-A320-support.patch index 2ee2506f4a6d..825df2714c56 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0002-plat-corstone1000-Add-Cortex-A320-support.patch +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/corstone1000/tf-a-tests/0001-plat-corstone1000-Add-Cortex-A320-support.patch @@ -1,4 +1,4 @@ -From 82ca3fcf5c323aec4ce8191c349fd7e00a840e02 Mon Sep 17 00:00:00 2001 +From ff4bb404474a3310654827c36c4ac882eb0344b5 Mon Sep 17 00:00:00 2001 From: Michael Safwat Date: Tue, 26 Aug 2025 11:20:01 +0000 Subject: [PATCH] plat: corstone1000: Add Cortex-A320 support @@ -24,15 +24,15 @@ Signed-off-by: Michael Safwat Signed-off-by: Harsimran Singh Tungal Upstream-Status: Submitted (https://review.trustedfirmware.org/c/TF-A/tf-a-tests/+/42352) --- - plat/arm/corstone1000/corstone1000_def.h | 12 +++++++++- - plat/arm/corstone1000/include/platform_def.h | 11 +++++---- - plat/arm/corstone1000/platform.mk | 23 +++++++++++++++++++ - .../tests_to_skip_cortex_a320.txt | 21 +++++++++++++++++ - 4 files changed, 61 insertions(+), 6 deletions(-) + plat/arm/corstone1000/corstone1000_def.h | 12 ++++++++++- + plat/arm/corstone1000/include/platform_def.h | 11 +++++----- + plat/arm/corstone1000/platform.mk | 20 ++++++++++++++++++ + .../tests_to_skip_cortex_a320.txt | 21 +++++++++++++++++++ + 4 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 plat/arm/corstone1000/tests_to_skip_cortex_a320.txt diff --git a/plat/arm/corstone1000/corstone1000_def.h b/plat/arm/corstone1000/corstone1000_def.h -index 3e6f036a..c4fa9a3b 100644 +index 3e6f036acc9a..c4fa9a3b5f68 100644 --- a/plat/arm/corstone1000/corstone1000_def.h +++ b/plat/arm/corstone1000/corstone1000_def.h @@ -26,13 +26,23 @@ @@ -61,7 +61,7 @@ index 3e6f036a..c4fa9a3b 100644 * PL011 related constants ******************************************************************************/ diff --git a/plat/arm/corstone1000/include/platform_def.h b/plat/arm/corstone1000/include/platform_def.h -index a0d6f7b3..1fc505d0 100644 +index 91f4cda19a90..2a9e5c4c35bb 100644 --- a/plat/arm/corstone1000/include/platform_def.h +++ b/plat/arm/corstone1000/include/platform_def.h @@ -98,12 +98,13 @@ @@ -84,30 +84,27 @@ index a0d6f7b3..1fc505d0 100644 /******************************************************************************* diff --git a/plat/arm/corstone1000/platform.mk b/plat/arm/corstone1000/platform.mk -index a5a011d5..fd98724a 100644 +index cd7a19162bcf..dfdd27abd897 100644 --- a/plat/arm/corstone1000/platform.mk +++ b/plat/arm/corstone1000/platform.mk -@@ -6,6 +6,19 @@ +@@ -6,6 +6,16 @@ PLAT_INCLUDES := -Iplat/arm/corstone1000/include/ +CORSTONE1000_CORTEX_A320 := 0 +ifeq (${CORSTONE1000_CORTEX_A320},1) -+PLAT_SOURCES := drivers/arm/gic/arm_gic_v2v3.c \ -+ drivers/arm/gic/gic_v2.c \ -+ drivers/arm/gic/gic_v3.c \ -+ drivers/arm/timer/private_timer.c \ -+ drivers/arm/timer/system_timer.c \ -+ plat/arm/corstone1000/plat_helpers.S \ -+ plat/arm/corstone1000/corstone1000_pwr_state.c \ -+ plat/arm/corstone1000/corstone1000_topology.c \ -+ plat/arm/corstone1000/corstone1000_mem_prot.c \ -+ plat/arm/corstone1000/plat_setup.c ++PLAT_SOURCES := drivers/arm/timer/private_timer.c \ ++ drivers/arm/timer/system_timer.c \ ++ plat/arm/corstone1000/plat_helpers.S \ ++ plat/arm/corstone1000/corstone1000_pwr_state.c \ ++ plat/arm/corstone1000/corstone1000_topology.c \ ++ plat/arm/corstone1000/corstone1000_mem_prot.c \ ++ plat/arm/corstone1000/plat_setup.c +else - PLAT_SOURCES := drivers/arm/gic/arm_gic_v2.c \ - drivers/arm/gic/gic_v2.c \ - drivers/arm/timer/private_timer.c \ -@@ -15,6 +28,7 @@ PLAT_SOURCES := drivers/arm/gic/arm_gic_v2.c \ + PLAT_SOURCES := drivers/arm/timer/private_timer.c \ + drivers/arm/timer/system_timer.c \ + plat/arm/corstone1000/plat_helpers.S \ +@@ -13,6 +23,7 @@ PLAT_SOURCES := drivers/arm/timer/private_timer.c \ plat/arm/corstone1000/corstone1000_topology.c \ plat/arm/corstone1000/corstone1000_mem_prot.c \ plat/arm/corstone1000/plat_setup.c @@ -115,7 +112,7 @@ index a5a011d5..fd98724a 100644 PLAT_SUPPORTS_NS_RESET := 1 -@@ -23,6 +37,15 @@ $(eval $(call assert_boolean,PLAT_SUPPORTS_NS_RESET)) +@@ -21,6 +32,15 @@ $(eval $(call assert_boolean,PLAT_SUPPORTS_NS_RESET)) $(eval $(call add_define,TFTF_DEFINES,PLAT_SUPPORTS_NS_RESET)) FIRMWARE_UPDATE := 0 @@ -133,7 +130,7 @@ index a5a011d5..fd98724a 100644 include plat/arm/common/arm_common.mk diff --git a/plat/arm/corstone1000/tests_to_skip_cortex_a320.txt b/plat/arm/corstone1000/tests_to_skip_cortex_a320.txt new file mode 100644 -index 00000000..87b9241d +index 000000000000..87b9241daba0 --- /dev/null +++ b/plat/arm/corstone1000/tests_to_skip_cortex_a320.txt @@ -0,0 +1,21 @@ @@ -158,6 +155,3 @@ index 00000000..87b9241d +Boot requirement tests +CPU extensions/AMUv1 suspend/resume +CPU extensions/Use trace buffer control Registers --- -2.43.0 - diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_%.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_%.bbappend index c1490c9f33cd..34644585a6d4 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_%.bbappend @@ -12,9 +12,5 @@ TFTF_MODE:corstone1000 = "release" FILESEXTRAPATHS:prepend:corstone1000 := "${THISDIR}/files/corstone1000/tf-a-tests:" SRC_URI:append:corstone1000 = " \ - file://0001-fix-exclude-Boot-requirement-tests-for-Corstone-1000.patch \ - " - -SRC_URI:append:corstone1000 = " \ - file://0002-plat-corstone1000-Add-Cortex-A320-support.patch \ + file://0001-plat-corstone1000-Add-Cortex-A320-support.patch \ " diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc index 5e219a282b57..d7c436dc482c 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-corstone1000.inc @@ -79,5 +79,5 @@ EXTRA_OEMAKE:append:cortexa320 = " \ # If GENERATE_COT is set, then TF-A will try to use local poetry install # to run the python cot-dt2c command. Disable the local poetry and use # the provided cot-dt2c. -EXTRA_OEMAKE += "POETRY=''" +EXTRA_OEMAKE += "host-poetry=''" DEPENDS += "cot-dt2c-native" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc index 06a2d22631c3..c87cbb726ec8 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc @@ -69,5 +69,5 @@ EXTRA_OEMAKE += "ARM_ARCH_MAJOR=${ARM_ISA_MAJOR} ARM_ARCH_MINOR=${ARM_ISA_MINOR} # If GENERATE_COT is set, then tf-a will try to use local poetry install # to run the python cot-dt2c command. Disable the local poetry and use # the provided cot-dt2c. -EXTRA_OEMAKE += "POETRY=''" +EXTRA_OEMAKE += "host-poetry=''" DEPENDS += "cot-dt2c-native" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb index 5d7efcc93635..8e9e37a9064b 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb +++ b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb @@ -4,10 +4,10 @@ LICENSE = "BSD-3-Clause" SRC_URI_TRUSTED_FIRMWARE_A ?= "git://review.trustedfirmware.org/TF-A/trusted-firmware-a;protocol=https" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};branch=${SRCBRANCH}" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=83b7626b8c7a37263c6a58af8d19bee1" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" -# Use cot-dt2c from TF-A v2.12.0 -SRCREV = "4ec2948fe3f65dba2f19e691e702f7de2949179c" +# Use cot-dt2c from TF-A v2.14.0 +SRCREV = "1d5aa939bc8d3d892e2ed9945fa50e36a1a924cc" SRCBRANCH = "master" inherit python_poetry_core diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/files/0001-fix-arm-re-enable-console-by-default-in-BL31.patch b/meta-arm/recipes-bsp/trusted-firmware-a/files/0001-fix-arm-re-enable-console-by-default-in-BL31.patch deleted file mode 100644 index f5b8d538e4b1..000000000000 --- a/meta-arm/recipes-bsp/trusted-firmware-a/files/0001-fix-arm-re-enable-console-by-default-in-BL31.patch +++ /dev/null @@ -1,46 +0,0 @@ -From de4640579c5318ba08ec57531ef87d63f5574557 Mon Sep 17 00:00:00 2001 -From: Chris Kay -Date: Thu, 21 Aug 2025 14:16:25 +0100 -Subject: [PATCH] fix(arm): re-enable console by default in BL31 - -In c997a8d, the common `arm_bl31_early_platform_setup` function -underwent a consolidation of two large preprocessor branches that were -conditional on whether or not Transfer List support is enabled. - -This function would initialise the console via `arm_console_boot_init` -*only* if Transfer List support was disabled. During the consolidation, -this call was removed, such that the behaviour was the same for both -branches. - -However, the common `bl31_early_platform_setup2` implementation was not -updated to reflect this change, and so platforms that a) relied on this -common implementation and b) did not enable Transfer List support no -longer initialise the console in BL31. - -This change ensures that the common implementation correctly initialises -the console during early BL31 boot. - -Change-Id: I332af3932ac70382fbf7a5434c0008807f38f86c -Signed-off-by: Chris Kay -Upstream-Status: Backport [de4640579c5318ba08ec57531ef87d63f5574557] ---- - plat/arm/common/arm_bl31_setup.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c -index 8ac984fd1..e7dc70bdb 100644 ---- a/plat/arm/common/arm_bl31_setup.c -+++ b/plat/arm/common/arm_bl31_setup.c -@@ -343,6 +343,9 @@ void __init arm_bl31_early_platform_setup(u_register_t arg0, u_register_t arg1, - void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, - u_register_t arg2, u_register_t arg3) - { -+ /* Initialize the console to provide early debug support */ -+ arm_console_boot_init(); -+ - arm_bl31_early_platform_setup(arg0, arg1, arg2, arg3); - - /* --- -2.43.0 - diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/files/0002-fix-css-don-t-require-the-GICC-frame-to-be-defined-o.patch b/meta-arm/recipes-bsp/trusted-firmware-a/files/0002-fix-css-don-t-require-the-GICC-frame-to-be-defined-o.patch deleted file mode 100644 index cef26ba09567..000000000000 --- a/meta-arm/recipes-bsp/trusted-firmware-a/files/0002-fix-css-don-t-require-the-GICC-frame-to-be-defined-o.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 60d103759b0835d61d90c8f2fbc7cf55f37e61a0 Mon Sep 17 00:00:00 2001 -From: Boyan Karatotev -Date: Wed, 22 Oct 2025 13:52:28 +0100 -Subject: [PATCH] fix(css): don't require the GICC frame to be defined on GICv3 - -It's used for GICv2 operation, which won't happen with v3. CSS will -always use USE_GIC_DRIVER with the correct version so we can rely on -that to skip passing the GICC frame. - -Upstream-Status: Backport [e3c36e35f8f92f817e537064d97a3816c339c704] -Change-Id: I358b99646f98bd7c6ea398bc8d8900cc80ca15bb -Signed-off-by: Boyan Karatotev ---- - include/plat/arm/css/common/aarch64/css_macros.S | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/include/plat/arm/css/common/aarch64/css_macros.S b/include/plat/arm/css/common/aarch64/css_macros.S -index 85a7044d7..8a687d582 100644 ---- a/include/plat/arm/css/common/aarch64/css_macros.S -+++ b/include/plat/arm/css/common/aarch64/css_macros.S -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. -+ * Copyright (c) 2015-2025, Arm Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -@@ -18,7 +18,14 @@ - */ - .macro css_print_gic_regs - mov_imm x16, PLAT_ARM_GICD_BASE -+ /* -+ * The ID registers will show GIC version, so it can safely be assumed -+ * that no v2 operation will be attempted on v3. Don't require the -+ * macro. -+ */ -+#if USE_GIC_DRIVER == 2 - mov_imm x17, PLAT_ARM_GICC_BASE -+#endif - arm_print_gic_regs - .endm - --- -2.43.0 - diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.13.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.14.0.bb similarity index 85% rename from meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.13.0.bb rename to meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.14.0.bb index 1b5334d8bbbc..a96329e1b424 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.13.0.bb +++ b/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.14.0.bb @@ -7,10 +7,10 @@ LICENSE = "BSD-3-Clause" SRC_URI_TRUSTED_FIRMWARE_A ?= "git://review.trustedfirmware.org/TF-A/trusted-firmware-a;protocol=https" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};destsuffix=fiptool-${PV};branch=${SRCBRANCH}" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" -# Use fiptool from TF-A v2.13.0 -SRCREV = "c17351450c8a513ca3f30f936e26a71db693a145" +# Use fiptool from TF-A v2.14.0 +SRCREV = "1d5aa939bc8d3d892e2ed9945fa50e36a1a924cc" SRCBRANCH = "master" DEPENDS += "openssl-native" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.14.0.bb similarity index 96% rename from meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb rename to meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.14.0.bb index aa7f49048b4e..dcd97d1a196d 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.13.0.bb +++ b/meta-arm/recipes-bsp/trusted-firmware-a/tf-a-tests_2.14.0.bb @@ -10,7 +10,7 @@ COMPATIBLE_MACHINE ?= "invalid" SRC_URI_TRUSTED_FIRMWARE_A_TESTS ?= "git://review.trustedfirmware.org/TF-A/tf-a-tests;protocol=https" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A_TESTS};branch=${SRCBRANCH}" SRCBRANCH = "master" -SRCREV = "fa267c12f9aa790b43b38d171273cf63892e8d51" +SRCREV = "3b3d800133081b48482b1205a32671b82bc2b640" EXTRA_OEMAKE += "USE_NVM=0" EXTRA_OEMAKE += "SHELL_COLOR=1" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc index 321a89078a20..28e415e24f0c 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc @@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause & MIT & Apache-2.0" inherit firmware -SRC_URI_TRUSTED_FIRMWARE_A ?= "git://review.trustedfirmware.org/TF-A/trusted-firmware-a;protocol=https" +SRC_URI_TRUSTED_FIRMWARE_A ?= "gitsm://review.trustedfirmware.org/TF-A/trusted-firmware-a;protocol=https" SRCBRANCH = "master" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};name=tfa;branch=${SRCBRANCH}" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb deleted file mode 100644 index 0c1566a5654f..000000000000 --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.13.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc - -# TF-A v2.13.0 -SRCREV_tfa = "c17351450c8a513ca3f30f936e26a71db693a145" -SRCBRANCH = "master" - -LIC_FILES_CHKSUM += "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130" - -# in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls -# mbedtls-3.6.3 -SRCBRANCH_MBEDTLS = "mbedtls-3.6" -SRC_URI_MBEDTLS = "git://github.com/Mbed-TLS/mbedtls;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}" -SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef" - -LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" - -SRC_URI += "\ - file://0001-fix-arm-re-enable-console-by-default-in-BL31.patch \ - file://0002-fix-css-don-t-require-the-GICC-frame-to-be-defined-o.patch \ -" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.14.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.14.0.bb new file mode 100644 index 000000000000..b84b6ad0cf77 --- /dev/null +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.14.0.bb @@ -0,0 +1,16 @@ +require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc + +# TF-A v2.14.0 +SRC_URI_TRUSTED_FIRMWARE_A = "gitsm://review.trustedfirmware.org/TF-A/trusted-firmware-a;protocol=https" +SRCREV_tfa = "1d5aa939bc8d3d892e2ed9945fa50e36a1a924cc" +SRCBRANCH = "master" + +LIC_FILES_CHKSUM += "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" + +# in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls +# mbedtls-3.6.5 +SRCBRANCH_MBEDTLS = "mbedtls-3.6" +SRC_URI_MBEDTLS = "gitsm://github.com/Mbed-TLS/mbedtls;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}" +SRCREV_mbedtls = "e185d7fd85499c8ce5ca2a54f5cf8fe7dbe3f8df" + +LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb index f5f15c90900d..6d7f7c3e428a 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb @@ -1,16 +1,16 @@ require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc -# TF-A master, tag: v2.14-rc1 -SRCREV_tfa = "96147cc84b7dd8b4f53c9fed553b0c61af060898" +# TF-A master, tag: v2.14 +SRCREV_tfa = "1d5aa939bc8d3d892e2ed9945fa50e36a1a924cc" SRCBRANCH = "master" LIC_FILES_CHKSUM += "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" # in TF-A src, docs/getting_started/prerequisites.rst lists the expected version mbedtls -# mbedtls-3.6.3 +# mbedtls-3.6.5 SRCBRANCH_MBEDTLS = "mbedtls-3.6" -SRC_URI_MBEDTLS = "git://github.com/Mbed-TLS/mbedtls;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}" -SRCREV_mbedtls = "22098d41c6620ce07cf8a0134d37302355e1e5ef" +SRC_URI_MBEDTLS = "gitsm://github.com/Mbed-TLS/mbedtls;name=mbedtls;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/mbedtls;branch=${SRCBRANCH_MBEDTLS}" +SRCREV_mbedtls = "e185d7fd85499c8ce5ca2a54f5cf8fe7dbe3f8df" LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" From patchwork Mon Jan 12 19:04:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 78539 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 CDA24CF45C9 for ; Mon, 12 Jan 2026 19:05:05 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.40734.1768244698815541681 for ; Mon, 12 Jan 2026 11:04:58 -0800 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 99A371516 for ; Mon, 12 Jan 2026 11:04:51 -0800 (PST) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 328583F694 for ; Mon, 12 Jan 2026 11:04:58 -0800 (PST) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 2/2] arm/edk2-firmware: update to edk2-stable202511 Date: Mon, 12 Jan 2026 14:04:57 -0500 Message-ID: <20260112190457.93847-2-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260112190457.93847-1-jon.mason@arm.com> References: <20260112190457.93847-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 12 Jan 2026 19:05:05 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6839 Update edk2-firmware and edk2-basetools to the 202511 stable release. Patches from upstream were needed to get it compiling with clang. edk2 dropped support for 32bit arm and x86, see https://edk2.groups.io/g/devel/topic/rfc_remove_ovmf_ia32_and/114152215 Therefore, we're dropping qemuarm edk2 testing and relevant bits Signed-off-by: Jon Mason --- .gitlab-ci.yml | 1 - .../cases/parselogs-ignores-sbsa-ref.txt | 3 - ...508.bb => edk2-basetools-native_202511.bb} | 2 +- .../recipes-bsp/uefi/edk2-firmware_%.bbappend | 11 -- .../recipes-bsp/uefi/edk2-firmware_202508.bb | 9 -- .../recipes-bsp/uefi/edk2-firmware_202511.bb | 7 + ...s-in-MiscChassisManufacturerFunction.patch | 148 ++++++++++++++++++ ...def-Use-LLD-to-link-ACPI-table-binar.patch | 42 +++++ .../uefi/files/edk2_fix_epoch.patch | 33 ---- ...02-Enforce-using-good-old-BFD-linker.patch | 10 +- meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb | 2 +- 11 files changed, 204 insertions(+), 64 deletions(-) rename meta-arm/recipes-bsp/uefi/{edk2-basetools-native_202508.bb => edk2-basetools-native_202511.bb} (93%) delete mode 100644 meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb create mode 100644 meta-arm/recipes-bsp/uefi/edk2-firmware_202511.bb create mode 100644 meta-arm/recipes-bsp/uefi/files/0001-ArmPkg-Fix-errors-in-MiscChassisManufacturerFunction.patch create mode 100644 meta-arm/recipes-bsp/uefi/files/0001-BaseTools-tools_def-Use-LLD-to-link-ACPI-table-binar.patch delete mode 100644 meta-arm/recipes-bsp/uefi/files/edk2_fix_epoch.patch diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 095a1addc21b..ef7cf1904589 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -308,7 +308,6 @@ qemuarm: parallel: matrix: - TOOLCHAINS: [gcc, clang] - FIRMWARE: edk2 TESTING: testimage - DISTRO: poky-tiny TESTING: testimage diff --git a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-sbsa-ref.txt b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-sbsa-ref.txt index fab5cc623354..99e6fee7a452 100644 --- a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-sbsa-ref.txt +++ b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-sbsa-ref.txt @@ -1,6 +1,3 @@ -# The release of EDK2 after 202402 should fix this -NUMA: Failed to initialise from firmware - # TODO: we should be using bochsdrm over efifb? efifb: cannot reserve video memory at 0x80000000 diff --git a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202511.bb similarity index 93% rename from meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb rename to meta-arm/recipes-bsp/uefi/edk2-basetools-native_202511.bb index 3c47b91a9069..7f12b31507a3 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb +++ b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202511.bb @@ -10,7 +10,7 @@ LICENSE = "BSD-2-Clause-Patent" SRC_URI = "git://github.com/tianocore/edk2.git;branch=master;protocol=https" LIC_FILES_CHKSUM = "file://License.txt;md5=2b415520383f7964e96700ae12b4570a" -SRCREV = "d46aa46c8361194521391aa581593e556c707c6e" +SRCREV = "46548b1adac82211d8d11da12dd914f41e7aa775" UPSTREAM_CHECK_GITTAGREGEX = "^edk2-stable(?P\d+)$" diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend b/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend index 64ec53b35791..b806bf8768e8 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware_%.bbappend @@ -5,17 +5,6 @@ EDK2_BIN_NAME:qemuarm64 = "QEMU_EFI.fd" # No need for PXE booting in qemu, disable to reduce unnecessary noise EDK2_EXTRA_BUILD:qemuarm64 += " -D NETWORK_PXE_BOOT_ENABLE=FALSE " -COMPATIBLE_MACHINE:qemuarm = "qemuarm" -EDK2_PLATFORM:qemuarm = "ArmVirtQemu-ARM" -EDK2_PLATFORM_DSC:qemuarm = "ArmVirtPkg/ArmVirtQemu.dsc" -EDK2_BIN_NAME:qemuarm = "QEMU_EFI.fd" -# No need for PXE booting in qemu, disable to reduce unnecessary noise -EDK2_EXTRA_BUILD:qemuarm += " -D NETWORK_PXE_BOOT_ENABLE=FALSE " - do_install:append:qemuarm64() { install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/ } - -do_install:append:qemuarm() { - install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/ -} diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb b/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb deleted file mode 100644 index 7d766d594d85..000000000000 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb +++ /dev/null @@ -1,9 +0,0 @@ -require recipes-bsp/uefi/edk2-firmware.inc - -SRCREV_edk2 ?= "d46aa46c8361194521391aa581593e556c707c6e" -SRCREV_edk2-platforms ?= "d82aa92c1d360c1b53ccad4dc45bdd8164a560d5" - -SRC_URI += "file://edk2_fix_epoch.patch" - -#FIXME - arm32 doesn't work with clang due to a linker issue -TOOLCHAIN:arm = "gcc" diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202511.bb b/meta-arm/recipes-bsp/uefi/edk2-firmware_202511.bb new file mode 100644 index 000000000000..c9871e10d557 --- /dev/null +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware_202511.bb @@ -0,0 +1,7 @@ +require recipes-bsp/uefi/edk2-firmware.inc + +SRCREV_edk2 ?= "46548b1adac82211d8d11da12dd914f41e7aa775" +SRCREV_edk2-platforms ?= "675f692ace4ae501c7f6f700cff364b13960e74e" + +SRC_URI += "file://0001-BaseTools-tools_def-Use-LLD-to-link-ACPI-table-binar.patch \ + file://0001-ArmPkg-Fix-errors-in-MiscChassisManufacturerFunction.patch" diff --git a/meta-arm/recipes-bsp/uefi/files/0001-ArmPkg-Fix-errors-in-MiscChassisManufacturerFunction.patch b/meta-arm/recipes-bsp/uefi/files/0001-ArmPkg-Fix-errors-in-MiscChassisManufacturerFunction.patch new file mode 100644 index 000000000000..06298e43a474 --- /dev/null +++ b/meta-arm/recipes-bsp/uefi/files/0001-ArmPkg-Fix-errors-in-MiscChassisManufacturerFunction.patch @@ -0,0 +1,148 @@ +From 33e4e73a17bff0823bc916998169b926115b0c6b Mon Sep 17 00:00:00 2001 +From: Mike Beaton +Date: Mon, 24 Nov 2025 20:40:28 +0000 +Subject: [PATCH] ArmPkg: Fix errors in MiscChassisManufacturerFunction + +Initial error found while attempting to implement Azure Pipelines +CLANGDWARF CI: + +ERROR - Compiler #error from /__w/1/s/ArmPkg/Universal/Smbios/SmbiosMiscDx +e/Type03/MiscChassisManufacturerFunction.c variable 'ContainedElements' is +uninitialized when passed as a const pointer argument here [-Werror,-Wunin +itialized-const-pointer] + +The code in question should copy the optional ContainedElements from +InputData, so fix it so that it does. + +Additionally: + + - Various size calculations in the original code are incorrect, since + the base size for calculations should not include ContainedElements, + so fix these. + - Since we are calculating Hdr.Length separately as part of the above, + add code to ASSERT and return EFI_OUT_OF_RESOURCES if it would + overflow the UINT8 location where it will be stored. + - Since we are adding a new early exit, fix the fact that no error log + message is generated on early exit. + +Fixes: bfc0fae459543442f3f17e0de655a72aba5b0920 + +Signed-off-by: Mike Beaton + +Upstream-Status: Backport [33e4e73a17bff0823bc916998169b926115b0c6b] +Signed-off-by: Jon Mason +--- + .../Type03/MiscChassisManufacturerFunction.c | 54 ++++++++++--------- + 1 file changed, 29 insertions(+), 25 deletions(-) + +diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c +index 6b3b63b0e8d5..363f3bfe30d6 100644 +--- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c ++++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c +@@ -45,6 +45,9 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + UINTN AssertTagStrLen; + UINTN SerialNumStrLen; + UINTN ChaNumStrLen; ++ UINTN BaseSize; ++ UINTN ExtendLength; ++ UINTN HdrLength; + EFI_STRING Manufacturer; + EFI_STRING Version; + EFI_STRING SerialNumber; +@@ -55,12 +58,6 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + SMBIOS_TABLE_TYPE3 *InputData; + EFI_STATUS Status; + +- UINT8 ContainedElementCount; +- CONTAINED_ELEMENT ContainedElements; +- UINT8 ExtendLength; +- +- ExtendLength = 0; +- + // + // First check for invalid parameters. + // +@@ -116,14 +113,25 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + ChassisSkuNumber = HiiGetPackageString (&gEfiCallerIdGuid, TokenToGet, NULL); + ChaNumStrLen = StrLen (ChassisSkuNumber); + +- ContainedElementCount = InputData->ContainedElementCount; +- ExtendLength = ContainedElementCount * sizeof (CONTAINED_ELEMENT); ++ STATIC_ASSERT (OFFSET_OF (SMBIOS_TABLE_TYPE3, ContainedElements) == 0x15, "Base size of SMBIOS_TABLE_TYPE3 does not meet SMBIOS specification"); ++ ++ BaseSize = OFFSET_OF (SMBIOS_TABLE_TYPE3, ContainedElements); ++ ExtendLength = (UINTN)InputData->ContainedElementCount * (UINTN)InputData->ContainedElementRecordLength; ++ ++ // ++ // Length of SMBIOS struct includes ContainedElements and SKUNumber. ++ // ++ HdrLength = BaseSize + ExtendLength + sizeof (SMBIOS_TABLE_STRING); ++ if (HdrLength > MAX_UINT8) { ++ ASSERT (HdrLength <= MAX_UINT8); ++ Status = EFI_OUT_OF_RESOURCES; ++ goto Exit; ++ } + + // +- // Two zeros following the last string. ++ // Additional zero follows the last string. + // +- RecordLength = sizeof (SMBIOS_TABLE_TYPE3) + +- ExtendLength + 1 + ++ RecordLength = HdrLength + + ManuStrLen + 1 + + VerStrLen + 1 + + SerialNumStrLen + 1 + +@@ -135,25 +143,20 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + goto Exit; + } + +- (VOID)CopyMem (SmbiosRecord, InputData, sizeof (SMBIOS_TABLE_TYPE3)); ++ // Copy base record plus ContainedElements. ++ (VOID)CopyMem (SmbiosRecord, InputData, BaseSize + ExtendLength); + +- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE3) + ExtendLength + 1; ++ SmbiosRecord->Hdr.Length = HdrLength; + + SmbiosRecord->Type = OemGetChassisType (); + +- // ContainedElements +- ASSERT (ContainedElementCount < 2); +- (VOID)CopyMem (SmbiosRecord + 1, &ContainedElements, ExtendLength); +- + // ChassisSkuNumber +- SkuNumberField = (UINT8 *)SmbiosRecord + +- sizeof (SMBIOS_TABLE_TYPE3) - +- sizeof (CONTAINED_ELEMENT) + ExtendLength; ++ SkuNumberField = (UINT8 *)SmbiosRecord + BaseSize + ExtendLength; + ++ // The string numbers in the fixed position portion of the record are populated in the input data. + *SkuNumberField = 5; + +- OptionalStrStart = (CHAR8 *)((UINT8 *)SmbiosRecord + sizeof (SMBIOS_TABLE_TYPE3) + +- ExtendLength + 1); ++ OptionalStrStart = (CHAR8 *)((UINT8 *)SmbiosRecord + HdrLength); + UnicodeStrToAsciiStrS (Manufacturer, OptionalStrStart, ManuStrLen + 1); + StrStart = OptionalStrStart + ManuStrLen + 1; + UnicodeStrToAsciiStrS (Version, StrStart, VerStrLen + 1); +@@ -175,6 +178,10 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + // Now we have got the full smbios record, call smbios protocol to add this record. + // + Status = SmbiosMiscAddRecord ((UINT8 *)SmbiosRecord, NULL); ++ ++ FreePool (SmbiosRecord); ++ ++Exit: + if (EFI_ERROR (Status)) { + DEBUG (( + DEBUG_ERROR, +@@ -185,9 +192,6 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscChassisManufacturer) { + )); + } + +- FreePool (SmbiosRecord); +- +-Exit: + if (Manufacturer != NULL) { + FreePool (Manufacturer); + } diff --git a/meta-arm/recipes-bsp/uefi/files/0001-BaseTools-tools_def-Use-LLD-to-link-ACPI-table-binar.patch b/meta-arm/recipes-bsp/uefi/files/0001-BaseTools-tools_def-Use-LLD-to-link-ACPI-table-binar.patch new file mode 100644 index 000000000000..4504800da232 --- /dev/null +++ b/meta-arm/recipes-bsp/uefi/files/0001-BaseTools-tools_def-Use-LLD-to-link-ACPI-table-binar.patch @@ -0,0 +1,42 @@ +From 5d38a20196b9b9d15552ba3617ec7f63f6401a5c Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel +Date: Tue, 25 Nov 2025 14:29:20 +0100 +Subject: [PATCH] BaseTools/tools_def: Use LLD to link ACPI table binaries + +Currently, the CLANGDWARF toolchain on AARCH64 fails to pass the +-fuse-ld=lld compiler option, and so linking ACPI table binaries falls +back to the BFD linker. On non-AARCH64 build systems, this will +correctly run the cross-linker, based on the -target argument passed to +Clang, which therefore needs to be installed. + +However, the ASLCC invocation fails to pass that same -target argument, +therefore producing object files for the native architecture, which the +cross-linker cannot link, resulting in a build error. + +So pass the target in ASLCC_FLAGS as well, which is sufficient to get a +working build. And for good measure, pass -fuse-ld=lld so that we don't +rely on the BFD cross-linker in the first place. + +Signed-off-by: Ard Biesheuvel + +Upstream-Status: Backport [5d38a20196b9b9d15552ba3617ec7f63f6401a5c] +Signed-off-by: Jon Mason +--- + BaseTools/Conf/tools_def.template | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template +index 32085ad00af7..d19624fa4628 100755 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -1872,8 +1872,8 @@ DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_ + *_CLANGDWARF_AARCH64_SLINK_PATH = ENV(CLANGDWARF_BIN)llvm-ar + *_CLANGDWARF_AARCH64_RC_PATH = ENV(CLANGDWARF_BIN)llvm-objcopy + +-*_CLANGDWARF_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto +-*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS) DEF(CLANGDWARF_DLINK_WARNING_FLAGS) ++*_CLANGDWARF_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -fno-lto ++*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS) DEF(CLANGDWARF_DLINK_WARNING_FLAGS) -fuse-ld=lld + *_CLANGDWARF_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments + *_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 DEF(CLANGDWARF_DLINK_WARNING_FLAGS) + *_CLANGDWARF_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 diff --git a/meta-arm/recipes-bsp/uefi/files/edk2_fix_epoch.patch b/meta-arm/recipes-bsp/uefi/files/edk2_fix_epoch.patch deleted file mode 100644 index d128df46bf12..000000000000 --- a/meta-arm/recipes-bsp/uefi/files/edk2_fix_epoch.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ef9dfeb6e96bf7f71162691a78d6b82c9516c0c0 Mon Sep 17 00:00:00 2001 -From: Mikko Rapeli -Date: Tue, 1 Apr 2025 10:34:31 -0400 -Subject: [PATCH] edk2-firmware: fix SOURCE_DATE_EPOCH use - -printenv host tool is not exposed to recipes so -just set epoch using SOURCE_DATE_EPOCH which is always -set. Fixes compile error: - -Building ... ../build/tmp_zynqmp-kria-starter-psa/work/zynqmp_kria_starter_psa-poky-linux/edk2-firmware/202411/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf [AARCH64] -../build/tmp_zynqmp-kria-starter-psa/work/zynqmp_kria_starter_psa-poky-linux/edk2-firmware/202411/edk2/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c: In function 'LibGetTime': -: error: stray '`' in program -../build/tmp_zynqmp-kria-starter-psa/work/zynqmp_kria_starter_psa-poky-linux/edk2-firmware/202411/edk2/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c:89:20: note: in expansion of macro 'BUILD_EPOCH' - 89 | EpochSeconds = BUILD_EPOCH; - | ^~~~~~~~~~~ - -Signed-off-by: Mikko Rapeli - -Upstream-Status: Inappropriate [OE specific build config fix, though filed as https://github.com/tianocore/edk2/issues/10910] ---- - .../Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf b/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf -index 285e880daab8..e1c986a6532d 100644 ---- a/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf -+++ b/EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf -@@ -34,4 +34,4 @@ - - # Current usage of this library expects GCC in a UNIX-like shell environment with the date command - [BuildOptions] -- GCC:*_*_*_CC_FLAGS = -DBUILD_EPOCH=`printenv SOURCE_DATE_EPOCH || date +%s` -+ GCC:*_*_*_CC_FLAGS = -DBUILD_EPOCH=${SOURCE_DATE_EPOCH} diff --git a/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch b/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch index c05ef32479f3..42523d0e9a1c 100644 --- a/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch +++ b/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch @@ -1,4 +1,4 @@ -From da0d96f0dc5fceafa34a7cc7d4d05f6f89336a87 Mon Sep 17 00:00:00 2001 +From af134611c744322e1d159794c426fbdd02e151cc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 7 Apr 2021 00:16:07 -0400 Subject: [PATCH] Enforce using good old BFD linker @@ -25,15 +25,15 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index 0caa1c90018f..0b62fdc9ee72 100755 +index 90a389bdff07..93f7b5cde437 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template -@@ -928,7 +928,7 @@ DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access +@@ -839,7 +839,7 @@ DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asyn DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18 -mstack-protector-guard=global DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only DEFINE GCC_RISCV64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only -DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds +DEFINE GCC_DLINK2_FLAGS_COMMON = -fuse-ld=bfd -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds - DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_LOONGARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map - DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer + DEFINE GCC_AARCH64_DLINK_FLAGS = -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map -z common-page-size=0x20 + DEFINE GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_COMMON) -z common-page-size=0x20 diff --git a/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb b/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb index c037725ac66f..5952c25a438e 100644 --- a/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb +++ b/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb @@ -1,4 +1,4 @@ -require recipes-bsp/uefi/edk2-firmware_202508.bb +require recipes-bsp/uefi/edk2-firmware_202511.bb PROVIDES:remove = "virtual/bootloader" LICENSE += "& Apache-2.0"