Skip to content

TF-M v2.3#28975

Merged
rlubos merged 21 commits into
nrfconnect:mainfrom
Vge0rge:ncs_tfm_2_3
Jun 2, 2026
Merged

TF-M v2.3#28975
rlubos merged 21 commits into
nrfconnect:mainfrom
Vge0rge:ncs_tfm_2_3

Conversation

@Vge0rge
Copy link
Copy Markdown
Contributor

@Vge0rge Vge0rge commented May 22, 2026

test_tfm: PR-229

@Vge0rge Vge0rge requested review from a team as code owners May 22, 2026 20:23
@NordicBuilder
Copy link
Copy Markdown
Contributor

NordicBuilder commented May 22, 2026

CI Information

To view the history of this post, click the 'edited' button above
Build number: 53

Inputs:

Sources:

more details

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (0)

Outputs:

Toolchain

Version:
Build docker image:

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ❌ Toolchain
  • ❌ Build twister
  • ❌ Integration tests

Note: This message is automatically posted and updated by the CI

@github-actions
Copy link
Copy Markdown

You can find the documentation preview for this PR here.

@Vge0rge Vge0rge force-pushed the ncs_tfm_2_3 branch 2 times, most recently from cb57dc4 to 4811674 Compare May 23, 2026 12:24
@NordicBuilder NordicBuilder requested a review from magnev May 23, 2026 13:38
@Vge0rge Vge0rge requested a review from a team as a code owner May 25, 2026 14:51
@github-actions
Copy link
Copy Markdown

Since quarantine was modified, please make sure you are following the process described in Quarantine Process.

@Vge0rge Vge0rge force-pushed the ncs_tfm_2_3 branch 4 times, most recently from 8bf6052 to ca95d3c Compare May 26, 2026 23:30
@Vge0rge Vge0rge changed the base branch from main to v3.4-branch May 27, 2026 09:34
@Vge0rge Vge0rge changed the base branch from v3.4-branch to main May 27, 2026 09:35
@Vge0rge Vge0rge force-pushed the ncs_tfm_2_3 branch 5 times, most recently from 1fa361e to 5f55546 Compare May 27, 2026 20:57
@Vge0rge Vge0rge changed the title FOR CI ONLY TF-M v2.3 May 27, 2026
@NordicBuilder
Copy link
Copy Markdown
Contributor

NordicBuilder commented May 28, 2026

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
oberon-psa-crypto nrfconnect/sdk-oberon-psa-crypto@ce39726 nrfconnect/sdk-oberon-psa-crypto@1b16da9 (main) nrfconnect/sdk-oberon-psa-crypto@ce39726a..1b16da97
psa-arch-tests nrfconnect/sdk-psa-arch-tests@ba0487c (ncs-v3.4.0-rc1-snapshot1) nrfconnect/sdk-psa-arch-tests@2deff6b (main) nrfconnect/sdk-psa-arch-tests@ba0487c4..2deff6be
qcbor nrfconnect/sdk-qcbor@751d365 nrfconnect/sdk-qcbor@bfe7b34 (main) nrfconnect/sdk-qcbor@751d3658..bfe7b348
t_cose 🆕 N/A (Added) nrfconnect/sdk-t_cose@024c429 (main) N/A
trusted-firmware-m nrfconnect/sdk-trusted-firmware-m@e476105 (ncs-v3.4-branch,ncs-v3.4.0-rc1,ncs-v3.4.0-rc1-snapshot1) nrfconnect/sdk-trusted-firmware-m@c9f7307 (main) nrfconnect/sdk-trusted-firmware-m@e4761050..c9f73070
zephyr nrfconnect/sdk-zephyr@618c383 nrfconnect/sdk-zephyr@960d1e3 (main) nrfconnect/sdk-zephyr@618c383c..960d1e38

Additional metadata changed:

Name URL Submodules West cmds module.yml Blobs
psa-arch-tests
qcbor

DNM label due to: 1 added project and 2 projects with metadata changes

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Copy link
Copy Markdown
Contributor

@tomi-font tomi-font left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving with follow-up PR to handle remaining comments

Vge0rge added 21 commits June 2, 2026 12:53
With updates related to TF-M 2.3.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
For TF-M 2.3.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
To version 2.3.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
These were renamed in the TF-M version 2.3, updated
accordingly.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
TF-M 2.3 changed the signature of this function which
now takes a parameter instead of void. Adapt to this
in our implementation.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
file(COPY) runs at configure time and resolves a relative
destination against CMAKE_CURRENT_BINARY_DIR, so the headers
landed in the directory:
./build/SAMPLE_NAME/tfm/platform/target/tfm_board/interface/include/

which is not part of the include for the NS app.

Change that to use the install commmand with
${INSTALL_INTERFACE_INC_DIR}.
Install runs at install time and resolves a relative destination against
CMAKE_INSTALL_PREFIX, which is in the includes of the NS app.

The headers are now placed in the directory:
./build/SAMPLE_NAME/tfm/api_ns/interface/include/

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
TF-M 2.3 renamed the mbedcrypto target to tfpsacrypto (and the prefix
from MBEDTLS_TARGET_PREFIX to TF_PSA_CRYPTO_TARGET_PREFIX). Update
the target in nrf_security accordingly.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Add psa_driver_api directory in the include path because
it is needed for the tfm_builtin_key_loader.h.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
TF-M 2.3 introduced a new logging system where
it replaced tfm_sp_log.h / tfm_spm_log.h / SPMLOG_* with two new
headers:

tfm_log.h: for privileged code which provides macros:
ERROR/INFO/VERBOSE/etc

tfm_log_unpriv.h: for uprivileged code with the same
macros suffixed _UNPRIV

Adapt to the new logging system.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Fixes a minor missing macro addition:
PSA_ALG_IS_SP800_108_COUNTER_CMAC.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
In the TF-M build the stdlib functions such as
abs are not available. Create a cracen local
abs function which either uses the builtin
implementation or a local implementation.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Link the secure partition with the psa_crypto_config which provides
the defines and include folders for the TF-PSA-Crypto.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
The header does not exist anymore with TF-M v2.3.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
TF-M has an option to select if STD functions like
printf are available with CONFIG_TFM_INCLUDE_STDLIBC.
This option is disabled for nFR devices and it is not
tested.

MbedlTLS also has a relevant option as well:
MBEDTLS_PLATFORM_NO_STD_FUNCTIONS

This sets the MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
option inside TF-M to align with the TF-M
configuration.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This essentially reverts:
c5d5400.

which cannot be reverted cleanly anymore.

With the TF-M v2.3 these tests should work.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
To its own folder so that include statements can use <>
instead of "".

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Add manually the option to enable the CMAC key derivation
since there is a new test which uses it. (1057)

The Kconfig option does not seem to be in upstream Zephyr
so it is added here. When the option is added in Zephyr
it can be removed.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This is a fork of the QCBOR repository with the
patches that TF-M applies to the repository.

It is needed because currently TF-M clones this
repo and applies the patches in every build and this
should not be done in sdk-nrf.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This is a fork of the t_cose repository with the
patches that TF-M applies to the repository.

It is needed because currently TF-M clones this
repo and applies the patches in every build and this
should not be done in sdk-nrf.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Since TF-M v2.3 clones and patches the t_cose and qcbor
libraries at build time we had to create forks with
the patches applied.

This adds the path to our forks to the TF-M build.

Remove the old qcbor Kconfig and reference.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
In sdk-nrf TF-PSA-Crypto header files are exposed from Oberon
PSA.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
@Vge0rge Vge0rge removed the DNM label Jun 2, 2026
@rlubos rlubos merged commit ba4da4c into nrfconnect:main Jun 2, 2026
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.