From patchwork Thu Feb 26 10:53:10 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Cassegrain X-Patchwork-Id: 81969 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 A5CE9FC592E for ; Thu, 26 Feb 2026 10:53:39 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.67634.1772103211167026073 for ; Thu, 26 Feb 2026 02:53:31 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: arthur.cassegrain@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 60A4E15A1; Thu, 26 Feb 2026 02:53:24 -0800 (PST) Received: from e142502.nice.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 C209A3F73B; Thu, 26 Feb 2026 02:53:29 -0800 (PST) From: Arthur Cassegrain To: meta-arm@lists.yoctoproject.org Cc: Clement Faure , Arthur Cassegrain Subject: [PATCH 1/3] arm/trusted-firmware-m: clone dependencies under tfm source tree Date: Thu, 26 Feb 2026 11:53:10 +0100 Message-ID: <20260226105312.4084782-2-arthur.cassegrain@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260226105312.4084782-1-arthur.cassegrain@arm.com> References: <20260226105312.4084782-1-arthur.cassegrain@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 ; Thu, 26 Feb 2026 10:53:39 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6918 From: Clement Faure Clone all trusted-firmware-m dependencies into the tfm source tree under external/ instead of ${UNPACKDIR}. This aligns the layout with devtool git-submodule handling, ensuring the recipe sees a consistent source tree at build time and allowing dependencies to be patched via devtool in the same way as the main tf-m repository. (reworked to avoid use internal variables for checkout) to clone tf-m dependencies use hardcoded path for reproductibility and avoid using BB_GIT_DEFAULT_DESTSUFFIX which may depend on yocto version. Signed-off-by: Clement Faure Signed-off-by: Arthur Cassegrain --- .../trusted-firmware-m-2.1.4-src.inc | 32 ++++++------- .../trusted-firmware-m-2.2.2-src.inc | 45 ++++++++++--------- .../trusted-firmware-m-git-src.inc | 36 +++++++-------- .../trusted-firmware-m/trusted-firmware-m.inc | 14 +++--- 4 files changed, 64 insertions(+), 63 deletions(-) diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.4-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.4-src.inc index bae9b11d..0ea55984 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.4-src.inc +++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.1.4-src.inc @@ -3,10 +3,10 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0" LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ - file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ - file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ - file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ - file://../tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa" + file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ + file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ + file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ + file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa" SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https" SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS ?= "git://git.trustedfirmware.org/TF-M/tf-m-extras.git;protocol=https" @@ -17,13 +17,13 @@ SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT ?= "git://github.com/mcu-tools/mcuboot.git;pr SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.git;protocol=https" SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \ - ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \ - ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \ - ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \ - ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \ - ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \ + ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm/external/tfm-extras \ + ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \ + ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \ + ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \ + ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \ " # The required dependencies are documented in tf-m/config/config_base.cmake @@ -52,7 +52,7 @@ SRCREV_qcbor = "b0e7033268e88c9f27146fa9a1415ef4c19ebaff" SRCBRANCH_tfm-psa-adac = "master" SRCREV_tfm-psa-adac = "5f5490cebe66ae997f316f83c3fbf1f97deef625" -SRCREV_FORMAT = "tfm" +SRCREV_FORMAT = "tfm_tfm-extras_tfm-tests_cmsis_mbedtls_mcuboot_qcbor_tfm-psa-adac_t-cose" S = "${UNPACKDIR}/tfm" @@ -61,8 +61,8 @@ inherit apply_local_src_patches LOCAL_SRC_PATCHES_INPUT_DIR = "N/A" do_apply_local_src_patches() { - apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor - apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls - apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot - apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests + apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor + apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls + apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot + apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests } diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.2-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.2-src.inc index e78bbdd7..132f05aa 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.2-src.inc +++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.2.2-src.inc @@ -3,11 +3,11 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0" LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ - file://${UNPACKDIR}/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ - file://${UNPACKDIR}/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ - file://${UNPACKDIR}/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ - file://${UNPACKDIR}/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ - file://${UNPACKDIR}/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \ + file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ + file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ + file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ + file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ + file://external/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \ " SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https" @@ -20,17 +20,6 @@ SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.gi SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https" SRC_URI_TRUSTED_FIRMWARE_M_T_COSE ?= "git://github.com/laurencelundblade/t_cose.git;protocol=https" -SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \ - ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \ - ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \ - ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \ - ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \ - ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \ - ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=t_cose \ - " - # The required dependencies are documented in tf-m/config/config_base.cmake # TF-Mv2.2.2 SRCBRANCH_tfm ?= "release/2.2.x" @@ -60,7 +49,19 @@ SRCREV_tfm-psa-adac = "819a254af6fb5eefdcef194ec85d2c7627451351" SRCBRANCH_t-cose = "dev" SRCREV_t-cose = "3076010eeb6383f0827bd992c75b68af9311cf1d" -SRCREV_FORMAT = "tfm" + +SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \ + ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm/external/tfm-extras \ + ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \ + ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \ + ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \ + ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \ + ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=tfm/external/t_cose \ + " + +SRCREV_FORMAT = "tfm_tfm-extras_tfm-tests_cmsis_mbedtls_mcuboot_qcbor_tfm-psa-adac_t-cose" S = "${UNPACKDIR}/tfm" @@ -69,9 +70,9 @@ inherit apply_local_src_patches LOCAL_SRC_PATCHES_INPUT_DIR = "N/A" do_apply_local_src_patches() { - apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor - apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls - apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot - apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests - apply_local_src_patches ${S}/lib/ext/t_cose ${UNPACKDIR}/t_cose + apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor + apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls + apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot + apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests + apply_local_src_patches ${S}/lib/ext/t_cose ${S}/external/t_cose } diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc index bf3a07d2..7bea317c 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc +++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-git-src.inc @@ -3,11 +3,11 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0" LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ - file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ - file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ - file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ - file://../tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ - file://../t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \ + file://external/tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \ + file://external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ + file://external/mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8 \ + file://external/tfm-psa-adac/license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \ + file://external/t_cose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad \ " SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https" @@ -20,14 +20,14 @@ SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.gi SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC ?= "git://git.trustedfirmware.org/shared/psa-adac.git;protocol=https" SRC_URI_TRUSTED_FIRMWARE_M_T_COSE ?= "git://github.com/laurencelundblade/t_cose.git;protocol=https" SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=tfm \ - ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm-extras \ - ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tf-m-tests \ - ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=cmsis \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=mbedtls \ - ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=mcuboot \ - ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=qcbor \ - ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm-psa-adac \ - ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=t_cose \ + ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=tfm/external/tfm-extras \ + ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=tfm/external/tf-m-tests \ + ${SRC_URI_TRUSTED_FIRMWARE_M_CMSIS};branch=${SRCBRANCH_cmsis};name=cmsis;destsuffix=tfm/external/cmsis \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=tfm/external/mbedtls \ + ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=tfm/external/mcuboot \ + ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=tfm/external/qcbor \ + ${SRC_URI_TRUSTED_FIRMWARE_M_PSA_ADAC};branch=${SRCBRANCH_tfm-psa-adac};name=tfm-psa-adac;destsuffix=tfm/external/tfm-psa-adac \ + ${SRC_URI_TRUSTED_FIRMWARE_M_T_COSE};branch=${SRCBRANCH_t-cose};name=t-cose;destsuffix=tfm/external/t_cose \ " # The required dependencies are documented in tf-m/config/config_base.cmake @@ -68,9 +68,9 @@ inherit apply_local_src_patches LOCAL_SRC_PATCHES_INPUT_DIR = "N/A" do_apply_local_src_patches() { - apply_local_src_patches ${S}/lib/ext/qcbor ${UNPACKDIR}/qcbor - apply_local_src_patches ${S}/lib/ext/mbedcrypto ${UNPACKDIR}/mbedtls - apply_local_src_patches ${S}/lib/ext/mcuboot ${UNPACKDIR}/mcuboot - apply_local_src_patches ${S}/lib/ext/tf-m-tests ${UNPACKDIR}/tf-m-tests - apply_local_src_patches ${S}/lib/ext/t_cose ${UNPACKDIR}/t_cose + apply_local_src_patches ${S}/lib/ext/qcbor ${S}/external/qcbor + apply_local_src_patches ${S}/lib/ext/mbedcrypto ${S}/external/mbedtls + apply_local_src_patches ${S}/lib/ext/mcuboot ${S}/external/mcuboot + apply_local_src_patches ${S}/lib/ext/tf-m-tests ${S}/external/tf-m-tests + apply_local_src_patches ${S}/lib/ext/t_cose ${S}/external/t_cose } diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc index d47541da..4e3c5912 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc +++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m.inc @@ -71,13 +71,13 @@ EXTRA_OECMAKE += "-DTFM_PLATFORM=${TFM_PLATFORM}" EXTRA_OECMAKE += "${@bb.utils.contains('TFM_DEBUG', '1', '-DCMAKE_BUILD_TYPE=Debug', '-DCMAKE_BUILD_TYPE=Release', d)}" EXTRA_OECMAKE += "\ - -DCMSIS_PATH=${UNPACKDIR}/cmsis \ - -DMBEDCRYPTO_PATH=${UNPACKDIR}/mbedtls \ - -DMCUBOOT_PATH=${UNPACKDIR}/mcuboot \ - -DQCBOR_PATH=${UNPACKDIR}/qcbor \ - -DT_COSE_PATH=${UNPACKDIR}/t_cose \ - -DTFM_EXTRAS_REPO_PATH=${UNPACKDIR}/tfm-extras \ - -DTFM_TEST_REPO_PATH=${UNPACKDIR}/tf-m-tests \ + -DCMSIS_PATH=${S}/external/cmsis \ + -DMBEDCRYPTO_PATH=${S}/external/mbedtls \ + -DMCUBOOT_PATH=${S}/external/mcuboot \ + -DQCBOR_PATH=${S}/external/qcbor \ + -DT_COSE_PATH=${S}/external/t_cose \ + -DTFM_EXTRAS_REPO_PATH=${S}/external/tfm-extras \ + -DTFM_TEST_REPO_PATH=${S}/external/tf-m-tests \ " export CMAKE_BUILD_PARALLEL_LEVEL = "${@oe.utils.parallel_make(d, False)}" From patchwork Thu Feb 26 10:53:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Cassegrain X-Patchwork-Id: 81968 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 B68D6FC5930 for ; Thu, 26 Feb 2026 10:53:39 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.67635.1772103212344341528 for ; Thu, 26 Feb 2026 02:53:32 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: arthur.cassegrain@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 98006153B; Thu, 26 Feb 2026 02:53:25 -0800 (PST) Received: from e142502.nice.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 07A673F73B; Thu, 26 Feb 2026 02:53:30 -0800 (PST) From: Arthur Cassegrain To: meta-arm@lists.yoctoproject.org Cc: Arthur Cassegrain , Clement Faure Subject: [PATCH 2/3] arm-bsp/trusted-firmware-m: fix psa-adac patch paths for corstone1000 Date: Thu, 26 Feb 2026 11:53:11 +0100 Message-ID: <20260226105312.4084782-3-arthur.cassegrain@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260226105312.4084782-1-arthur.cassegrain@arm.com> References: <20260226105312.4084782-1-arthur.cassegrain@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 ; Thu, 26 Feb 2026 10:53:39 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6919 Update the corstone1000 variant to apply its psa-adac patches against the new external/ directory. Signed-off-by: Clement Faure Signed-off-by: Arthur Cassegrain --- .../trusted-firmware-m-corstone1000.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc index 2b44f168..f52d0af8 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc @@ -24,7 +24,7 @@ EXTRA_OECMAKE += "-DPLATFORM_IS_FVP=${TFM_PLATFORM_IS_FVP}" EXTRA_OECMAKE += "-DCC312_LEGACY_DRIVER_API_ENABLED=OFF" EXTRA_OECMAKE:append:corstone1000-fvp = " -DENABLE_MULTICORE=${@bb.utils.contains('MACHINE_FEATURES', 'corstone1000_fvp_smp', 'TRUE', 'FALSE', d)}" EXTRA_OECMAKE:append:corstone1000-mps3 = " -DPLATFORM_PSA_ADAC_SECURE_DEBUG=${@bb.utils.contains('MACHINE_FEATURES', 'secure-debug', 'ON', 'OFF', d)}" -EXTRA_OECMAKE:append:corstone1000-mps3 = " -DPLATFORM_PSA_ADAC_SOURCE_PATH=${UNPACKDIR}/tfm-psa-adac -DPLATFORM_PSA_ADAC_BUILD_PATH=${B}/tfm-psa-adac-build" +EXTRA_OECMAKE:append:corstone1000-mps3 = " -DPLATFORM_PSA_ADAC_SOURCE_PATH=${S}/external/tfm-psa-adac -DPLATFORM_PSA_ADAC_BUILD_PATH=${B}/tfm-psa-adac-build" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" @@ -46,9 +46,9 @@ SRC_URI:append:corstone1000 = " \ FILESEXTRAPATHS:prepend:corstone1000-mps3 := "${THISDIR}/files/corstone1000/psa-adac:" SRC_URI:append:corstone1000-mps3 = " \ - file://0001-PSA-revert-header-versions.patch;patchdir=../tfm-psa-adac \ - file://0002-Fix-psa_key_handle_t-initialization.patch;patchdir=../tfm-psa-adac \ - file://0003-cmake-Update-psa_adac_psa_crypto-dependencies.patch;patchdir=../tfm-psa-adac \ + file://0001-PSA-revert-header-versions.patch;patchdir=external/tfm-psa-adac \ + file://0002-Fix-psa_key_handle_t-initialization.patch;patchdir=external/tfm-psa-adac \ + file://0003-cmake-Update-psa_adac_psa_crypto-dependencies.patch;patchdir=external/tfm-psa-adac \ " create_bl1_image(){ From patchwork Thu Feb 26 10:53:12 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Cassegrain X-Patchwork-Id: 81967 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 98191FC592B for ; Thu, 26 Feb 2026 10:53:39 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.67636.1772103213283872612 for ; Thu, 26 Feb 2026 02:53:33 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: arthur.cassegrain@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 9BA5015A1; Thu, 26 Feb 2026 02:53:26 -0800 (PST) Received: from e142502.nice.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 3FB3F3F73B; Thu, 26 Feb 2026 02:53:32 -0800 (PST) From: Arthur Cassegrain To: meta-arm@lists.yoctoproject.org Cc: Arthur Cassegrain Subject: [PATCH 3/3] arm/trusted-services: clone dependencies under ts source tree Date: Thu, 26 Feb 2026 11:53:12 +0100 Message-ID: <20260226105312.4084782-4-arthur.cassegrain@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260226105312.4084782-1-arthur.cassegrain@arm.com> References: <20260226105312.4084782-1-arthur.cassegrain@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 ; Thu, 26 Feb 2026 10:53:39 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6920 Clone all trusted-services dependencies into the TS source tree under ts-external/ instead of ${UNPACKDIR} This alignes the layout with devtool git-submodule handling. NOTICE: we can't clone in external as TS already contains files there and it would conflict. Signed-off-by: Arthur Cassegrain --- .../trusted-services/trusted-services-src.inc | 74 ++++++++++--------- .../trusted-services/trusted-services.inc | 2 +- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/meta-arm/recipes-security/trusted-services/trusted-services-src.inc b/meta-arm/recipes-security/trusted-services/trusted-services-src.inc index 331ff062..4d71bcd7 100644 --- a/meta-arm/recipes-security/trusted-services/trusted-services-src.inc +++ b/meta-arm/recipes-security/trusted-services/trusted-services-src.inc @@ -2,74 +2,78 @@ LICENSE = "Apache-2.0 & BSD-3-Clause & BSD-2-Clause & Zlib" -SRC_URI = "git://git.trustedfirmware.org/TS/trusted-services.git;protocol=https;branch=main;name=trusted-services;destsuffix=trusted-services \ -" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -SRC_URI:append = "\ - file://0001-Allow-configuring-flash-image-files-compile-time.patch \ - file://0002-Fix-MbedTLS-3.6-and-GCC-14-compatibility.patch \ - file://0001-Relax-pyelftools-dependency.patch \ - file://0005-cpputest-fix-cmake-4.0-compatibility.patch \ -" - # v1.2.0 SRCREV_trusted-services = "0d55b4c7a8e53958271feb7341e928853b7914cf" LIC_FILES_CHKSUM = "file://${S}/license.rst;md5=ea160bac7f690a069c608516b17997f4" -S = "${UNPACKDIR}/trusted-services" PV ?= "0.0+git" UPSTREAM_CHECK_COMMITS = "1" # DTC, tag "v1.6.1" -SRC_URI += "git://github.com/dgibson/dtc;name=dtc;protocol=https;branch=main;destsuffix=dtc" +SRC_URI_TRUSTED_SERVICES_DTC = "git://github.com/dgibson/dtc;protocol=https;branch=main" SRCREV_dtc = "b6910bec11614980a21e46fbccc35934b671bd81" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/dtc/README.license;md5=a1eb22e37f09df5b5511b8a278992d0e" +LIC_FILES_CHKSUM += "file://ts-external/dtc/README.license;md5=a1eb22e37f09df5b5511b8a278992d0e" # MbedTLS, tag "v3.6.0" -SRC_URI += "gitsm://github.com/Mbed-TLS/mbedtls;name=mbedtls;protocol=https;branch=master;destsuffix=mbedtls" +SRC_URI_TRUSTED_SERVICES_MBEDTLS = "gitsm://github.com/Mbed-TLS/mbedtls;protocol=https;branch=master" SRCREV_mbedtls = "2ca6c285a0dd3f33982dd57299012dacab1ff206" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" +LIC_FILES_CHKSUM += "file://ts-external/mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" # Nanopb, tag "nanopb-0.4.8" plus some further fixes -SRC_URI += "git://github.com/nanopb/nanopb.git;name=nanopb;protocol=https;branch=master;destsuffix=nanopb" +SRC_URI_TRUSTED_SERVICES_NANOPB = "git://github.com/nanopb/nanopb.git;protocol=https;branch=master" SRCREV_nanopb = "6cfe48d6f1593f8fa5c0f90437f5e6522587745e" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/nanopb/LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" +LIC_FILES_CHKSUM += "file://ts-external/nanopb/LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" # qcbor, tag "v1.0.0" -SRC_URI += "git://github.com/laurencelundblade/QCBOR.git;name=qcbor;protocol=https;branch=master;destsuffix=qcbor" +SRC_URI_TRUSTED_SERVICES_QCBOR = "git://github.com/laurencelundblade/QCBOR.git;protocol=https;branch=master" SRCREV_qcbor = "56b17bf9f74096774944bcac0829adcd887d391e" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/qcbor/README.md;md5=e8ff2e88a722cdc55eddd0bb9aeca002" +LIC_FILES_CHKSUM += "file://ts-external/qcbor/README.md;md5=e8ff2e88a722cdc55eddd0bb9aeca002" # T_Cose -SRC_URI += "git://github.com/laurencelundblade/t_cose.git;name=tcose;protocol=https;branch=master;destsuffix=tcose" +SRC_URI_TRUSTED_SERVICES_TCOSE = "git://github.com/laurencelundblade/t_cose.git;protocol=https;branch=master" SRCREV_tcose = "fc3a4b2c7196ff582e8242de8bd4a1bc4eec577f" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/tcose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad" +LIC_FILES_CHKSUM += "file://ts-external/tcose/LICENSE;md5=b2ebdbfb82602b97aa628f64cf4b65ad" # CppUTest, tag "v3.8" -SRC_URI += "git://github.com/cpputest/cpputest.git;name=cpputest;protocol=https;branch=master;destsuffix=cpputest" +SRC_URI_TRUSTED_SERVICES_CPPUTEST = "git://github.com/cpputest/cpputest.git;protocol=https;branch=master" SRCREV_cpputest = "e25097614e1c4856036366877a02346c4b36bb5b" -LIC_FILES_CHKSUM += "file://${UNPACKDIR}/cpputest/COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177" +LIC_FILES_CHKSUM += "file://ts-external/CppUTest/COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177" -SRCREV_FORMAT = "trusted-services_dtc_mbedtls_nanopb_qcbor_tcose_cpputest" +SRC_URI = "git://git.trustedfirmware.org/TS/trusted-services.git;protocol=https;branch=main;name=trusted-services;destsuffix=ts; \ + ${SRC_URI_TRUSTED_SERVICES_DTC};name=dtc;destsuffix=ts/ts-external/dtc \ + ${SRC_URI_TRUSTED_SERVICES_MBEDTLS};name=mbedtls;destsuffix=ts/ts-external/mbedtls \ + ${SRC_URI_TRUSTED_SERVICES_NANOPB};name=nanopb;destsuffix=ts/ts-external/nanopb \ + ${SRC_URI_TRUSTED_SERVICES_QCBOR};name=qcbor;destsuffix=ts/ts-external/qcbor \ + ${SRC_URI_TRUSTED_SERVICES_TCOSE};name=tcose;destsuffix=ts/ts-external/tcose \ + ${SRC_URI_TRUSTED_SERVICES_CPPUTEST};branch=master;name=cpputest;destsuffix=ts/ts-external/CppUTest \ + file://0001-Allow-configuring-flash-image-files-compile-time.patch \ + file://0002-Fix-MbedTLS-3.6-and-GCC-14-compatibility.patch \ + file://0001-Relax-pyelftools-dependency.patch \ + file://0005-cpputest-fix-cmake-4.0-compatibility.patch \ +" +S = "${UNPACKDIR}/ts" inherit apply_local_src_patches LOCAL_SRC_PATCHES_INPUT_DIR = "N/A" do_apply_local_src_patches() { - apply_local_src_patches ${S}/external/qcbor ${UNPACKDIR}/qcbor - apply_local_src_patches ${S}/external/t_cose ${UNPACKDIR}/tcose - apply_local_src_patches ${S}/external/MbedTLS ${UNPACKDIR}/mbedtls - apply_local_src_patches ${S}/external/CppUTest ${UNPACKDIR}/cpputest - apply_local_src_patches ${S}/external/libfdt ${UNPACKDIR}/dtc - apply_local_src_patches ${S}/external/nanopb ${UNPACKDIR}/nanopb + apply_local_src_patches ${S}/external/qcbor ${S}/ts-external/qcbor + apply_local_src_patches ${S}/external/t_cose ${S}/ts-external/tcose + apply_local_src_patches ${S}/external/MbedTLS ${S}/ts-external/mbedtls + apply_local_src_patches ${S}/external/CppUTest ${S}/ts-external/CppUTest + apply_local_src_patches ${S}/external/libfdt ${S}/ts-external/dtc + apply_local_src_patches ${S}/external/nanopb ${S}/ts-external/nanopb } +SRCREV_FORMAT = "trusted-services_dtc_mbedtls_nanopb_qcbor_tcose_cpputest" + # Paths to dependencies required by some TS SPs/tools -EXTRA_OECMAKE += "-DDTC_SOURCE_DIR=${UNPACKDIR}/dtc \ - -DCPPUTEST_SOURCE_DIR=${UNPACKDIR}/cpputest \ - -DNANOPB_SOURCE_DIR=${UNPACKDIR}/nanopb \ - -DT_COSE_SOURCE_DIR=${UNPACKDIR}/tcose \ - -DQCBOR_SOURCE_DIR=${UNPACKDIR}/qcbor \ - -DMBEDTLS_SOURCE_DIR=${UNPACKDIR}/mbedtls \ +EXTRA_OECMAKE += "-DDTC_SOURCE_DIR=${S}/ts-external/dtc \ + -DMBEDTLS_SOURCE_DIR=${S}/ts-external/mbedtls \ + -DNANOPB_SOURCE_DIR=${S}/ts-external/nanopb \ + -DQCBOR_SOURCE_DIR=${S}/ts-external/qcbor \ + -DT_COSE_SOURCE_DIR=${S}/ts-external/tcose \ + -DCPPUTEST_SOURCE_DIR=${S}/ts-external/CppUTest \ " diff --git a/meta-arm/recipes-security/trusted-services/trusted-services.inc b/meta-arm/recipes-security/trusted-services/trusted-services.inc index 1caeeb35..bdfccc48 100644 --- a/meta-arm/recipes-security/trusted-services/trusted-services.inc +++ b/meta-arm/recipes-security/trusted-services/trusted-services.inc @@ -28,7 +28,7 @@ SYSROOT_DIRS += "/usr/${TS_ENV} /usr/opteesp /usr/arm-linux" # TS cmake files use find_file() to search through source code and build dirs. # Yocto cmake class limits CMAKE_FIND_ROOT_PATH and find_file() fails. # Include the source tree and build dirs into searchable path. -OECMAKE_EXTRA_ROOT_PATH = "${UNPACKDIR}/ ${B}" +OECMAKE_EXTRA_ROOT_PATH = "${S}/ ${B}" EXTRA_OECMAKE += '-DLIBGCC_LOCATE_CFLAGS="--sysroot=${STAGING_DIR_HOST}" \ -DCROSS_COMPILE="${TARGET_PREFIX}" \