Skip to content

Commit 82e7b66

Browse files
Merge branch 'release/2.3.x' into main
Merge the release 2.3.x branch into main from tag 'TF-Mv2.3.0'. Trusted Firmware-M v2.3.0 Change-Id: If3dbe8aaa2d9b4f60badc79bd25fbd51ed74b205 Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
2 parents 12f35ed + 5d906d2 commit 82e7b66

42 files changed

Lines changed: 477 additions & 143 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmake/version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# TFM_VERSION_MANUAL is used as a fallback when Git tags aren’t available.
99
# The '**' is added on purpose to show that the version is uncertain in that case.
1010
# Please keep it in place when updating.
11-
set(TFM_VERSION_MANUAL "2.2.2**")
11+
set(TFM_VERSION_MANUAL "2.3.0**")
1212

1313
execute_process(COMMAND git describe --always --candidates=1
1414
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}

config/config_base.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ set(TF_PSA_CRYPTO_FORCE_PATCH OFF CACHE BOOL "Always appl
4040
set(TF_PSA_CRYPTO_GIT_REMOTE "https://github.com/Mbed-TLS/TF-PSA-Crypto" CACHE STRING "The URL to retrieve TF-PSA-Crypto from.")
4141

4242
set(MCUBOOT_PATH "DOWNLOAD" CACHE PATH "Path to MCUboot (or DOWNLOAD to fetch automatically")
43-
set(MCUBOOT_VERSION "v2.4.0-rc1" CACHE STRING "The version of MCUboot to use")
43+
set(MCUBOOT_VERSION "v2.4.0" CACHE STRING "The version of MCUboot to use")
4444
set(MCUBOOT_GIT_REMOTE "https://github.com/mcu-tools/mcuboot.git" CACHE STRING "The URL to retrieve MCUboot from.")
4545
set(MCUBOOT_PATCH_DIR "${CMAKE_SOURCE_DIR}/lib/ext/mcuboot" CACHE PATH "Path to local folder which contains patches for MCUboot")
4646
set(MCUBOOT_FORCE_PATCH OFF CACHE BOOL "Always apply MCUboot patches")

docs/building/tfm_build_instruction.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ The following table lists the commonly used repos. For others, you can refer to
239239
+----------------+---------------------+-----------------------------------------------------+
240240
| Dependency | Cmake variable | Git repo URL |
241241
+================+=====================+=====================================================+
242-
| TF-PSA Crypto | TF_PSA_CRYPTO_PATH | https://github.com/Mbed-TLS/TF-PSA-Crypto |
242+
| TF-PSA-Crypto | TF_PSA_CRYPTO_PATH | https://github.com/Mbed-TLS/TF-PSA-Crypto |
243243
+----------------+---------------------+-----------------------------------------------------+
244244
| MCUboot | MCUBOOT_PATH | https://github.com/mcu-tools/mcuboot |
245245
+----------------+---------------------+-----------------------------------------------------+
@@ -257,7 +257,7 @@ The recommended versions of the dependencies are listed in ``config/config_base.
257257
An alternative is to copy out the auto-downloaded repos under the ``<build_dir>/lib/ext``.
258258
They have been applied with patches and can be used directly.
259259

260-
Example: building TF-M with local TF-PSA Crypto repo
260+
Example: building TF-M with local TF-PSA-Crypto repo
261261
----------------------------------------------------
262262

263263
Preparing a local repository consists of 2 steps: cloning and patching.
@@ -267,15 +267,15 @@ cloning the repo and checking out the correct branch.
267267

268268
.. code-block:: bash
269269
270-
cd <TF-PSA Crypto base folder>
270+
cd <TF-PSA-Crypto base folder>
271271
git clone https://github.com/Mbed-TLS/TF-PSA-Crypto
272272
cd TF-PSA-Crypto
273273
git checkout <TF_PSA_CRYPTO_VERSION> from <TF-M source dir>/config/config_base.cmake>
274274
git apply <TF-M source dir>/lib/ext/tf-psa-crypto/*.patch
275275
276276
.. Note::
277277

278-
``<TF-PSA Crypto base folder>`` does not need to have any fixed position related
278+
``<TF-PSA-Crypto base folder>`` does not need to have any fixed position related
279279
to the TF-M repo so alternative method to get prepared dependency repos is to
280280
let TF-M download it once and then copy them out of the ``build/lib/ext`` folder.
281281

@@ -284,7 +284,7 @@ Now build TF-M binaries
284284
.. code-block:: bash
285285
286286
cd <TF-M source dir>
287-
cmake -S . -B build -DTFM_PLATFORM=arm/mps2/an521 -DTF_PSA_CRYPTO_PATH=<TF-PSA Crypto base folder>/tf-psa-crypto
287+
cmake -S . -B build -DTFM_PLATFORM=arm/mps2/an521 -DTF_PSA_CRYPTO_PATH=<TF-PSA-Crypto base folder>
288288
cmake --build build -- install
289289
290290
.. _Building NSPE:

docs/building/tfm_build_instruction_iar.rst

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,10 @@ Notes for building with IARARM
1111

1212
IAR Embedded Workbench for ARM (EWARM) versions v9.30.1 or later are required.
1313

14-
Currently the MUSCA_B1 and MUSCA_S1 targets are not supported with IARARM,
15-
due to lack of testing.
14+
Currently the MUSCA_B1 target is not supported with IARARM, due to lack of testing.
1615

1716
cmake needs to be version 3.21 or newer.
1817

19-
The V8M IAR CMSIS_5 RTX libraries in CMSIS_5 5.5.0 has a problem and has been updated in
20-
CMSIS_5 5.7.0. The updated libraries are part of the tf-m-tests repo and no special instructions
21-
are needed when the libraries from this repo are used.
22-
2318
For all configurations and build options some of the QCBOR tests fail due to the tests not handling
2419
double float NaN:s according to the Arm Runtime ABI. This should be sorted out in the future.
2520

@@ -61,4 +56,12 @@ Alternately using traditional cmake syntax
6156
cmake .. -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake -DTEST_S=ON -DTEST_NS=ON
6257
make install
6358
64-
*Copyright (c) 2020-2021, Arm Limited. All rights reserved.*
59+
.. Note::
60+
For PSA API tests, you may need to append ``-DTOOLCHAIN=INHERIT`` to the build command.
61+
62+
63+
--------------
64+
65+
*SPDX-License-Identifier: BSD-3-Clause*
66+
67+
*SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors*

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# -- Project information -----------------------------------------------------
2121

2222
project = 'Trusted Firmware-M'
23-
copyright = '2017-2025, ARM CE-OSS'
23+
copyright = '2017-2026, ARM CE-OSS'
2424
author = 'ARM CE-OSS'
2525
title = 'User Guide'
2626

docs/configuration/profiles/index.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,11 @@ in the links below.
8585
except profile Small.
8686
2. Many platforms redefine `ITS_BUF_SIZE` value.
8787

88-
Each profile has predefined configuration for cryptographic library, located in
89-
``/lib/ext/mbedcrypto/mbedcrypto_config/``
88+
Each profile has predefined configuration for the cryptographic library,
89+
located in ``/lib/ext/tf-psa-crypto/tfpsacrypto_config/``
9090

9191
--------------
9292

93-
*Copyright (c) 2020, Arm Limited. All rights reserved.*
93+
*SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors*
94+
95+
*SPDX-License-Identifier: BSD-3-Clause*

docs/configuration/profiles/tfm_profile_large.rst

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,14 @@ Crypto Secure Partition
236236
TF-M Profile Large enables Crypto SP in top-level CMake config file and selects
237237
all the Crypto modules.
238238

239-
MbedTLS configurations
240-
^^^^^^^^^^^^^^^^^^^^^^
239+
TF-PSA-Crypto configurations
240+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
241241

242-
TF-M Profile Large adds a dedicated MbedTLS config file
243-
``tfm_mbedcrypto_config_profile_large.h`` and MbedTLS PSA config file
244-
``crypto_config_profile_large.h`` under
245-
``/lib/ext/mbedcrypto/mbedcrypto_config`` folder, instead of the common one
246-
``tfm_mbedcrypto_config_default.h`` and ``crypto_config_default.h`` [7]_.
242+
TF-M Profile Large adds a dedicated TF-PSA-Crypto config file ``crypto_config_profile_large.h``
243+
under ``/lib/ext/tf-psa-crypto/tfpsacrypto_config`` folder, instead of the common one
244+
``crypto_config_default.h`` [7]_.
247245

248-
Major MbedTLS configurations are set as listed below:
246+
Major cryptographic configurations are set as listed below:
249247

250248
- Enable SHA256, SHA384 and SHA512
251249
- Enable generic message digest wrappers
@@ -325,7 +323,7 @@ a platform can add a platform configuration file at
325323
Test configuration
326324
------------------
327325

328-
Some cryptography tests are disabled due to the reduced MbedTLS config.
326+
Some cryptography tests are disabled due to the reduced cryptographic configuration profile.
329327
Profile Large specific test configurations are also specified in Profile Large
330328
top-level CMake config file ``config/profile/profile_large_test.cmake``.
331329

docs/configuration/profiles/tfm_profile_medium.rst

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ Will enable testing for all enabled partitions. See above for details of enabled
261261
partitions. Because Profile Medium enables IPC model, the IPC tests are also
262262
enabled.
263263

264-
Some cryptography tests are disabled due to the reduced Mbed Crypto config.
264+
Some cryptography tests are disabled due to the reduced cryptographic configuration profile.
265265

266266
.. table:: TFM options in Profile Medium top-level CMake config file
267267
:widths: auto
@@ -324,16 +324,14 @@ The following PSA Crypto operationts are enabled by default.
324324
- Key derivation
325325
- Key management
326326

327-
Mbed Crypto configurations
328-
^^^^^^^^^^^^^^^^^^^^^^^^^^
327+
TF-PSA-Crypto configurations
328+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
329329

330-
TF-M Profile Medium adds a dedicated Mbed Crypto config file
331-
``tfm_mbedcrypto_config_profile_medium.h`` and Mbed Crypto PSA config file
332-
``crypto_config_profile_medium.h`` at ``/lib/ext/mbedcrypto/mbedcrypto_config``
333-
folder, instead of the common one ``tfm_mbedcrypto_config_default.h`` and
330+
TF-M Profile Medium adds a dedicated TF-PSA-Crypto config file ``crypto_config_profile_medium.h``
331+
under ``/lib/ext/tf-psa-crypto/tfpsacrypto_config`` folder, instead of the common one
334332
``crypto_config_default.h`` [CRYPTO-DESIGN]_.
335333

336-
Major Mbed Crypto configurations are set as listed below:
334+
Major cryptographic configurations are set as listed below:
337335

338336
- Enable SHA256
339337
- Enable generic message digest wrappers

docs/configuration/profiles/tfm_profile_small.rst

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -385,16 +385,14 @@ Other modules and configurations [11]_ are kept as default values.
385385
Additional configuration flags with more fine granularity can be added to
386386
control building of specific crypto algorithms and corresponding test cases.
387387

388-
Mbed Crypto configurations
389-
^^^^^^^^^^^^^^^^^^^^^^^^^^
388+
TF-PSA-Crypto configurations
389+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
390390

391-
TF-M Profile Small adds a dedicated Mbed Crypto config file
392-
``tfm_mbedcrypto_config_profile_small.h`` and Mbed Crypto PSA config file
393-
``crypto_config_profile_small.h`` at ``/lib/ext/mbedcrypto/mbedcrypto_config``
394-
folder, instead of the common one ``tfm_mbedcrypto_config_default.h`` and
391+
TF-M Profile Small adds a dedicated TF-PSA-Crypto config file ``crypto_config_profile_small.h``
392+
under ``/lib/ext/tf-psa-crypto/tfpsacrypto_config`` folder, instead of the common one
395393
``crypto_config_default.h`` [11]_.
396394

397-
Major Mbed Crypto configurations are set as listed below:
395+
Major cryptographic configurations are set as listed below:
398396

399397
- Enable SHA256
400398
- Enable generic message digest wrappers
@@ -459,7 +457,7 @@ in Profile Small top-level CMake config file.
459457
Test configuration
460458
------------------
461459

462-
Some cryptography tests are disabled due to the reduced Mbed Crypto config.
460+
Some cryptography tests are disabled due to the reduced cryptographic configuration profile.
463461
Some of them are shown in the table below.
464462

465463
.. table:: TFM options in Profile Small top-level CMake config file

docs/configuration/test_configuration.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ test suites will be enabled or disabled as appropriate for the TF-M
6565
configuration (i.e. all enabled secure partitions will be tested).
6666

6767
Some cryptographic tests can be enabled and disabled. This is done to prevent
68-
false failures from being reported when a smaller Mbed Crypto config is being
69-
used which does not support all features.
68+
false failures from being reported when a smaller crypto configuration profile
69+
is being used which does not support all features.
7070

7171
+---------------------------------------+---------------------------------------+---------------+
7272
| Parameter | Description | Default value |
@@ -117,3 +117,9 @@ The Firmware Framework test suites are:
117117

118118
Note that these map directly to the ``SUITE`` cmake variable used in the
119119
psa-arch-tests documentation.
120+
121+
--------------
122+
123+
*SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors*
124+
125+
*SPDX-License-Identifier: BSD-3-Clause*

0 commit comments

Comments
 (0)