Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not ready for review: [nrf noup] Allow TF-M without ITS build #181

Open
wants to merge 74 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
0fbe454
[nrf fromtree] Platform: Nordic: refactor spu_peripheral_config to us…
SebastianBoe May 14, 2024
bdde9a9
[nrf fromtree] Platform: Nordic: Add function for calculating spu ins…
SebastianBoe May 16, 2024
1f7aa03
[nrf fromtree] Platform: nordic_nrf: Don't configure NRF_VMC as non-s…
nordic-mare May 23, 2024
2000539
[nrf fromtree] platform: nordic: Add platform memory write service
Vge0rge May 28, 2024
90ff6d8
[nrf fromtree] ITS: Fix checks for PS usage
vili-nordic Jul 19, 2024
7c5a541
[nrf fromtree] platform: nordic_nrf: APPROTECT to lock debugging
MarkusLassila Jun 20, 2024
b61cc79
[nrf fromtree] platform: nordic: Allow reading UICR registers
SeppoTakalo Aug 15, 2024
487231c
[nrf fromtree] platform: nordic: Guard nvmc header with soc series
SeppoTakalo Aug 21, 2024
6755e5d
[nrf noup] Platform: Nordic: Port spu_peripheral_config
SebastianBoe May 16, 2024
eec5298
[nrf noup] crypto: Have CRYPTO_HW_ACCELERATOR support nrf_security
SebastianBoe Mar 1, 2024
7ff00fa
[nrf noup] platform: nrf_nordic: Add temp fix for for secure FPU on 9161
SebastianBoe Mar 1, 2024
813a981
[nrf noup] secure_fw: Add option to log output on a shared UART insta…
frkv Aug 15, 2024
b6ddb1c
[nrf noup] Do not pass PSA_CONFIG again to crypto library
frkv Aug 15, 2024
a195051
[nrf noup] Remove check for p256-m
SebastianBoe Mar 1, 2024
566102c
[nrf noup] cmake: tools: Dont add a custom command for running the ma…
SebastianBoe Mar 7, 2024
34785d9
[nrf noup] crypto: Add PAKE support
frkv Aug 15, 2024
026dc04
[nrf noup] platform: nordic_nrf: include autoconf.h from target_cfg.c
SebastianBoe Mar 19, 2024
b859d7a
[nrf noup] Support CMAC KDF and custom builtin solution
frkv Aug 15, 2024
56b2e7c
[nrf noup] crypto: Detect wrong headers being included
SebastianBoe Apr 10, 2024
5cc51b0
[nrf noup] platform: nordic_nrf: Configure XL1/2 pin based on Kconfig
frkv Aug 15, 2024
96fe5a5
[nrf noup] Fix version warning
vili-nordic Jun 21, 2024
94f544e
[nrf noup] platform: nordic_nrf: Add support shared UART and using UA…
frkv Aug 16, 2024
e0b5686
[nrf noup] platform: nordic_nrf: Add support for nRF54L
frkv Aug 16, 2024
e637605
[nrf noup] tf-m: Enable support for external PSA core
frkv Sep 5, 2024
abc2127
WIP: TF-M: Fixing deprecated autoconf.h includes
frkv Sep 5, 2024
ccb7244
WIP: Fixing the last remaining issues for L15
frkv Sep 18, 2024
4392e16
[nrf noup] attestation: Prevent errors of multiple defs of ARRAY_LENGTH
frkv Sep 21, 2024
6d6229a
WIP: Adding the previous methodology of using base addresses
frkv Sep 26, 2024
45ae077
[nrf noup]: Add definitions for builtin key support
frkv Sep 26, 2024
d7a564d
tf-m: Add missing include for generic configurations
frkv Sep 30, 2024
c227cf7
tf-m: Fix peripheral => base address for UART instance
frkv Sep 30, 2024
a2fe2e6
tf-m: Reworking a previous version of unitializing uart for sharing
frkv Sep 30, 2024
9573717
[nrf fromtree] platform: nordic_nrf: APPROTECT to lock debugging
frkv Oct 1, 2024
d762004
[nrf noup] platform: nordic_nrf: add support for nrf54l15dk
tomi-font Sep 24, 2024
138ed21
[nrf fromtree] stm : fix error on b_u585i_iot02a with TF-Mv2.1.0
ahmadstm Jun 24, 2024
eab0eb7
[nrf fromtree] Platform: corstone1000: Fix isolation L2 memory protec…
jf549 Aug 22, 2024
a929ac5
[nrf fromtree] Platform: STM32: script all_stm_platfrom
ahmadstm Jul 22, 2024
f206a24
Revert "[nrf noup] tf-m: Enable support for external PSA core"
tomi-font Oct 15, 2024
8b0ac17
[nrf fromtree] Crypto: Update to Mbed TLS 3.6.1
adeaarm Sep 18, 2024
da282d1
[nrf noup] tf-m: Enable support for external PSA core
frkv Sep 5, 2024
7801e1f
[nrf fromtree] SPM: mailbox_agent_api: Free connection if params asso…
nicola-mazzucato-arm Sep 3, 2024
43bacd7
[nrf fromtree] Crypto: Prevent the scratch allocator from overflowing
adeaarm Jul 5, 2024
e6b5a12
[nrf fromtree] Crypto: Protect writes to avoid out-of-bound access
adeaarm Jul 5, 2024
8d6d4cf
[nrf fromtree] CC3XX: Relax assert condition in aead_crypt for input
adeaarm Oct 3, 2024
c0b29c0
[nrf fromtree] tfm_spe_mailbox: Validate vectors from NSPE
nicola-mazzucato-arm Aug 16, 2024
0568896
[nrf fromtree] tfm_spe_mailbox: Do not write-back on input vectors ch…
nicola-mazzucato-arm Aug 27, 2024
2a18ee4
[nrf fromtree] TFMV-8: Fix unchecked user-supplied pointer via mailbo…
nicola-mazzucato-arm Sep 18, 2024
7bc4668
[nrf fromtree] tfm_spe_mailbox: Use local vars for local_copy_vects
nicola-mazzucato-arm Oct 3, 2024
23a0474
[nrf fromtree] Crypto: Additional checks for writes to avoid out-of-b…
hunkob Oct 2, 2024
c94446c
[nrf fromtree] Crypto: Enforce MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS o…
adeaarm Oct 1, 2024
60a00fc
[nrf fromtree] cc3xx/low-level/pka: wait for sw reset to be done befo…
mguetschow Oct 9, 2024
4eff7c8
[nrf fromtree] tfm_spe_mailbox: Fix NULL pointer checks
hunkob Oct 9, 2024
899f0f5
[nrf fromtree] Crypto: Add option to enforce ABI compatibility
adeaarm Oct 16, 2024
a405857
Revert "[nrf noup] platform: nordic_nrf: add support for nrf54l15dk"
MarkusLassila Oct 18, 2024
d452cc5
Revert "WIP: TF-M: Fixing deprecated autoconf.h includes"
MarkusLassila Oct 18, 2024
21d2dee
Revert "WIP: Adding the previous methodology of using base addresses"
MarkusLassila Oct 18, 2024
e32cfdd
Revert "WIP: Fixing the last remaining issues for L15"
MarkusLassila Oct 18, 2024
db92ba9
Revert "[nrf fromtree] platform: nordic_nrf: APPROTECT to lock debugg…
MarkusLassila Oct 18, 2024
ef2bb10
Revert "[nrf noup] platform: nordic_nrf: Add support for nRF54L"
MarkusLassila Oct 18, 2024
a347e92
[nrf fromtree] platform: nordic_nrf: Rework PCD memory locking
MarkusLassila Aug 30, 2024
e1fd5b5
[nrf fromtree] platform: nordic_nrf: Add missing include
MarkusLassila Oct 15, 2024
e110a80
[nrf noup] platform: nordic_nrf: Add support for nRF54L
frkv Aug 16, 2024
7f5065f
[nrf fromtree] platform: nordic_nrf: APPROTECT to lock debugging
frkv Oct 1, 2024
f37d4c5
WIP: Fixing the last remaining issues for L15
frkv Sep 18, 2024
c6e7aa8
WIP: Adding the previous methodology of using base addresses
frkv Sep 26, 2024
02a8515
WIP: TF-M: Fixing deprecated autoconf.h includes
frkv Sep 5, 2024
8c7fae3
[nrf noup] platform: nordic_nrf: add support for nrf54l15dk
tomi-font Sep 24, 2024
5ae4c7f
[nrf noup] platform: nordic_nrf: nRF54L15 does not have UICR
MarkusLassila Oct 30, 2024
f911f7e
[nrf noup] platform: nordic_nrf: 54l15: do not "erase" the flash
tomi-font Nov 1, 2024
910bdc9
[nrf noup] platform: nordic_nrf: 54l15: clean up RRAM write buffer si…
tomi-font Nov 1, 2024
0ec0fe8
Revert "[nrf noup] platform: nordic_nrf: 54l15: clean up RRAM write b…
tomi-font Nov 6, 2024
cc9a53f
[nrf noup] platform: nordic_nrf: make RRAM writes unbuffered
tomi-font Nov 6, 2024
82e7763
[nrf fromtree] Protected Storage: Add capacity in tfm_ps_get_info calls.
MarkusLassila Nov 14, 2024
f302508
[nrf noup] Allow TF-M without ITS build
frkv Nov 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions bl2/ext/mcuboot/config/mcuboot-mbedtls-cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
#define MBEDTLS_ENTROPY_C
#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
#define MBEDTLS_PSA_CRYPTO_CONFIG
#define MBEDTLS_PSA_CRYPTO_C
#if defined(MCUBOOT_SIGN_EC256)
#define MBEDTLS_PSA_P256M_DRIVER_ENABLED
#endif
Expand Down
110 changes: 2 additions & 108 deletions bl2/src/thin_psa_crypto_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,7 @@ psa_status_t psa_hash_setup(psa_hash_operation_t *operation,

status = psa_driver_wrapper_hash_setup(operation, alg);

if (status != PSA_SUCCESS) {
psa_hash_abort(operation);
}
assert(status == PSA_SUCCESS);

return status;
}
Expand All @@ -189,9 +187,7 @@ psa_status_t psa_hash_update(psa_hash_operation_t *operation,

status = psa_driver_wrapper_hash_update(operation, input, input_length);

if (status != PSA_SUCCESS) {
psa_hash_abort(operation);
}
assert(status == PSA_SUCCESS);

return status;
}
Expand Down Expand Up @@ -349,28 +345,6 @@ psa_status_t mbedtls_to_psa_error(int ret)
}
}

#if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
int mbedtls_psa_get_random(void *p_rng,
unsigned char *output,
size_t output_size)
{
/* This function takes a pointer to the RNG state because that's what
* classic mbedtls functions using an RNG expect. The PSA RNG manages
* its own state internally and doesn't let the caller access that state.
* So we just ignore the state parameter, and in practice we'll pass
* NULL.
*/
(void) p_rng;
psa_status_t status = psa_generate_random(output, output_size);

if (status == PSA_SUCCESS) {
return 0;
} else {
return MBEDTLS_ERR_ENTROPY_SOURCE_FAILED;
}
}
#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */

psa_status_t psa_generate_random(uint8_t *output,
size_t output_size)
{
Expand Down Expand Up @@ -446,86 +420,6 @@ psa_status_t psa_verify_hash_builtin(
return PSA_ERROR_NOT_SUPPORTED;
}

/* Required when Mbed TLS backend converts from PSA to Mbed TLS native */
mbedtls_ecp_group_id mbedtls_ecc_group_from_psa(psa_ecc_family_t family,
size_t bits)
{
switch (family) {
case PSA_ECC_FAMILY_SECP_R1:
switch (bits) {
#if defined(PSA_WANT_ECC_SECP_R1_192)
case 192:
return MBEDTLS_ECP_DP_SECP192R1;
#endif
#if defined(PSA_WANT_ECC_SECP_R1_224)
case 224:
return MBEDTLS_ECP_DP_SECP224R1;
#endif
#if defined(PSA_WANT_ECC_SECP_R1_256)
case 256:
return MBEDTLS_ECP_DP_SECP256R1;
#endif
#if defined(PSA_WANT_ECC_SECP_R1_384)
case 384:
return MBEDTLS_ECP_DP_SECP384R1;
#endif
#if defined(PSA_WANT_ECC_SECP_R1_521)
case 521:
return MBEDTLS_ECP_DP_SECP521R1;
#endif
}
break;

case PSA_ECC_FAMILY_BRAINPOOL_P_R1:
switch (bits) {
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
case 256:
return MBEDTLS_ECP_DP_BP256R1;
#endif
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
case 384:
return MBEDTLS_ECP_DP_BP384R1;
#endif
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
case 512:
return MBEDTLS_ECP_DP_BP512R1;
#endif
}
break;

case PSA_ECC_FAMILY_MONTGOMERY:
switch (bits) {
#if defined(PSA_WANT_ECC_MONTGOMERY_255)
case 255:
return MBEDTLS_ECP_DP_CURVE25519;
#endif
#if defined(PSA_WANT_ECC_MONTGOMERY_448)
case 448:
return MBEDTLS_ECP_DP_CURVE448;
#endif
}
break;

case PSA_ECC_FAMILY_SECP_K1:
switch (bits) {
#if defined(PSA_WANT_ECC_SECP_K1_192)
case 192:
return MBEDTLS_ECP_DP_SECP192K1;
#endif
#if defined(PSA_WANT_ECC_SECP_K1_224)
/* secp224k1 is not and will not be supported in PSA (#3541). */
#endif
#if defined(PSA_WANT_ECC_SECP_K1_256)
case 256:
return MBEDTLS_ECP_DP_SECP256K1;
#endif
}
break;
}

return MBEDTLS_ECP_DP_NONE;
}

/* We don't need the full driver wrapper, we know the key is already a public key */
psa_status_t psa_driver_wrapper_export_public_key(
const psa_key_attributes_t *attributes,
Expand Down
62 changes: 34 additions & 28 deletions cmake/install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -75,33 +75,38 @@ if (TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
endif()

if (TFM_PARTITION_CRYPTO)
install(FILES ${INTERFACE_INC_DIR}/psa/README.rst
${INTERFACE_INC_DIR}/psa/build_info.h
${INTERFACE_INC_DIR}/psa/crypto.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_auto_enabled.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_key_pair_types.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_synonyms.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_composites.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_compat.h
${INTERFACE_INC_DIR}/psa/crypto_driver_common.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_composites.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_extra.h
${INTERFACE_INC_DIR}/psa/crypto_legacy.h
${INTERFACE_INC_DIR}/psa/crypto_platform.h
${INTERFACE_INC_DIR}/psa/crypto_se_driver.h
${INTERFACE_INC_DIR}/psa/crypto_sizes.h
${INTERFACE_INC_DIR}/psa/crypto_struct.h
${INTERFACE_INC_DIR}/psa/crypto_types.h
${INTERFACE_INC_DIR}/psa/crypto_values.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR}/psa)
install(FILES ${INTERFACE_INC_DIR}/tfm_crypto_defs.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
install(DIRECTORY ${INTERFACE_INC_DIR}/mbedtls
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
if(PSA_CRYPTO_EXTERNAL_CORE)
include(${TARGET_PLATFORM_PATH}/../external_core_install.cmake)
else()
install(FILES ${INTERFACE_INC_DIR}/psa/README.rst
${INTERFACE_INC_DIR}/psa/build_info.h
${INTERFACE_INC_DIR}/psa/crypto.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_auto_enabled.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_dependencies.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_key_pair_types.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_synonyms.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_composites.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_compat.h
${INTERFACE_INC_DIR}/psa/crypto_driver_common.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_composites.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_extra.h
${INTERFACE_INC_DIR}/psa/crypto_legacy.h
${INTERFACE_INC_DIR}/psa/crypto_platform.h
${INTERFACE_INC_DIR}/psa/crypto_se_driver.h
${INTERFACE_INC_DIR}/psa/crypto_sizes.h
${INTERFACE_INC_DIR}/psa/crypto_struct.h
${INTERFACE_INC_DIR}/psa/crypto_types.h
${INTERFACE_INC_DIR}/psa/crypto_values.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR}/psa)
install(FILES ${INTERFACE_INC_DIR}/tfm_crypto_defs.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
install(DIRECTORY ${INTERFACE_INC_DIR}/mbedtls
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
endif()
endif()

if (TFM_PARTITION_INITIAL_ATTESTATION)
Expand Down Expand Up @@ -284,10 +289,11 @@ else()
)
endif()

# PSA_CRYPTO_EXTERNAL_CORE
target_include_directories(psa_interface
INTERFACE
$<INSTALL_INTERFACE:interface/include>
)
)

install(EXPORT tfm-config
FILE spe_export.cmake
Expand Down
9 changes: 9 additions & 0 deletions cmake/spe-CMakeLists.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ target_sources(tfm_api_ns
)

# Include interface headers exported by TF-M
if(PSA_CRYPTO_EXTERNAL_CORE)
include(${TARGET_PLATFORM_PATH}/../external_core.cmake)
else()
target_include_directories(tfm_api_ns
PUBLIC
${INTERFACE_INC_DIR}
)
endif()

target_include_directories(tfm_api_ns
PUBLIC
${INTERFACE_INC_DIR}
Expand Down
2 changes: 1 addition & 1 deletion cmake/version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ execute_process(COMMAND git describe --tags --always
# In a repository cloned with --no-tags option TFM_VERSION_FULL will be a hash
# only hence checking it for a tag format to accept as valid version.

string(FIND ${TFM_VERSION_FULL} "TF-M" TFM_TAG)
string(FIND ${TFM_VERSION_FULL} "v" TFM_TAG)
if(TFM_TAG EQUAL -1)
set(TFM_VERSION_FULL v${TFM_VERSION_MANUAL})
endif()
Expand Down
2 changes: 2 additions & 0 deletions config/check_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ tfm_invalid_config(TFM_MULTI_CORE_TOPOLOGY AND TFM_NS_MANAGE_NSID)
tfm_invalid_config(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM AND NOT TFM_MULTI_CORE_TOPOLOGY)
tfm_invalid_config(TFM_ISOLATION_LEVEL EQUAL 3 AND CONFIG_TFM_STACK_WATERMARKS)

tfm_invalid_config(CONFIG_TFM_LOG_SHARE_UART AND NOT SECURE_UART1)

########################## BL1 #################################################

tfm_invalid_config(TFM_BL1_2_IN_OTP AND TFM_BL1_2_IN_FLASH)
Expand Down
6 changes: 5 additions & 1 deletion config/config_base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ set(PROJECT_CONFIG_HEADER_FILE "" CACHE FILEPATH "User define
# External libraries source and version
set(MBEDCRYPTO_PATH "DOWNLOAD" CACHE PATH "Path to Mbed Crypto (or DOWNLOAD to fetch automatically")
set(MBEDCRYPTO_FORCE_PATCH OFF CACHE BOOL "Always apply MBed Crypto patches")
set(MBEDCRYPTO_VERSION "mbedtls-3.6.0" CACHE STRING "The version of Mbed Crypto to use")
set(MBEDCRYPTO_VERSION "mbedtls-3.6.1" CACHE STRING "The version of Mbed Crypto to use")
set(MBEDCRYPTO_GIT_REMOTE "https://github.com/Mbed-TLS/mbedtls.git" CACHE STRING "The URL (or path) to retrieve MbedTLS from.")

set(MCUBOOT_PATH "DOWNLOAD" CACHE PATH "Path to MCUboot (or DOWNLOAD to fetch automatically")
Expand Down Expand Up @@ -90,6 +90,9 @@ set(CONFIG_TFM_HALT_ON_CORE_PANIC OFF CACHE BOOL "On fatal e

set(CONFIG_TFM_STACK_WATERMARKS OFF CACHE BOOL "Whether to pre-fill partition stacks with a set value to help determine stack usage")

set(PROJECT_CONFIG_HEADER_FILE "${CMAKE_SOURCE_DIR}/config/config_base.h" CACHE FILEPATH "User defined header file for TF-M config")

set(CONFIG_TFM_LOG_SHARE_UART OFF CACHE BOOL "Allow TF-M and the non-secure application to share the UART instance. TF-M will use it while it is booting, after which the non-secure application will use it until an eventual fatal error is handled and logged by TF-M. Logging from TF-M will therefore otherwise be suppressed")
############################ Platform ##########################################

set(NUM_MAILBOX_QUEUE_SLOT 1 CACHE BOOL "Number of mailbox queue slots")
Expand Down Expand Up @@ -130,6 +133,7 @@ set(BL2_TRAILER_SIZE 0x000 CACHE STRING "BL2 Trailer
set(TFM_PARTITION_PROTECTED_STORAGE OFF CACHE BOOL "Enable Protected Storage partition")
set(PS_ENCRYPTION ON CACHE BOOL "Enable encryption for Protected Storage partition")
set(PS_CRYPTO_AEAD_ALG PSA_ALG_GCM CACHE STRING "The AEAD algorithm to use for authenticated encryption in Protected Storage")
set(PS_CRYPTO_KDF_ALG PSA_ALG_HKDF\(PSA_ALG_SHA_256\) CACHE STRING "KDF Algorithm to use for Protect Storage")

set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE OFF CACHE BOOL "Enable Internal Trusted Storage partition")
set(ITS_ENCRYPTION OFF CACHE BOOL "Enable authenticated encryption of ITS files using platform specific APIs")
Expand Down
10 changes: 10 additions & 0 deletions config/config_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,16 @@
#define CRYPTO_SINGLE_PART_FUNCS_DISABLED 0
#endif

/*
* The service assumes that the client interface and internal
* interface towards the library that provides the PSA Crypto
* core component maintain the same ABI. This is not the default
* when using the Mbed TLS reference implementation
*/
#ifndef CRYPTO_LIBRARY_ABI_COMPAT
#define CRYPTO_LIBRARY_ABI_COMPAT (0)
#endif

/* The stack size of the Crypto Secure Partition */
#ifndef CRYPTO_STACK_SIZE
#define CRYPTO_STACK_SIZE 0x1B00
Expand Down
10 changes: 10 additions & 0 deletions config/profile/config_profile_large.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@

/* Crypto Partition Configs */

/*
* The service assumes that the client interface and internal
* interface towards the library that provides the PSA Crypto
* core component maintain the same ABI. This is not the default
* when using the Mbed TLS reference implementation
*/
#ifndef CRYPTO_LIBRARY_ABI_COMPAT
#define CRYPTO_LIBRARY_ABI_COMPAT (0)
#endif

/*
* Heap size for the crypto backend
* CRYPTO_ENGINE_BUF_SIZE needs to be >8KB for EC signing by attest module.
Expand Down
10 changes: 10 additions & 0 deletions config/profile/config_profile_medium.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,16 @@
#define CRYPTO_SINGLE_PART_FUNCS_DISABLED 0
#endif

/*
* The service assumes that the client interface and internal
* interface towards the library that provides the PSA Crypto
* core component maintain the same ABI. This is not the default
* when using the Mbed TLS reference implementation
*/
#ifndef CRYPTO_LIBRARY_ABI_COMPAT
#define CRYPTO_LIBRARY_ABI_COMPAT (0)
#endif

/* The stack size of the Crypto Secure Partition */
#ifndef CRYPTO_STACK_SIZE
#define CRYPTO_STACK_SIZE 0x1B00
Expand Down
10 changes: 10 additions & 0 deletions config/profile/config_profile_medium_arotless.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,16 @@
#define CRYPTO_SINGLE_PART_FUNCS_DISABLED 0
#endif

/*
* The service assumes that the client interface and internal
* interface towards the library that provides the PSA Crypto
* core component maintain the same ABI. This is not the default
* when using the Mbed TLS reference implementation
*/
#ifndef CRYPTO_LIBRARY_ABI_COMPAT
#define CRYPTO_LIBRARY_ABI_COMPAT (0)
#endif

/* The stack size of the Crypto Secure Partition */
#ifndef CRYPTO_STACK_SIZE
#define CRYPTO_STACK_SIZE 0x1B00
Expand Down
10 changes: 10 additions & 0 deletions config/profile/config_profile_small.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,16 @@
#define CRYPTO_SINGLE_PART_FUNCS_DISABLED 1
#endif

/*
* The service assumes that the client interface and internal
* interface towards the library that provides the PSA Crypto
* core component maintain the same ABI. This is not the default
* when using the Mbed TLS reference implementation
*/
#ifndef CRYPTO_LIBRARY_ABI_COMPAT
#define CRYPTO_LIBRARY_ABI_COMPAT (0)
#endif

/* The stack size of the Crypto Secure Partition */
#ifndef CRYPTO_STACK_SIZE
#define CRYPTO_STACK_SIZE 0x1B00
Expand Down
3 changes: 3 additions & 0 deletions docs/platform/stm/b_u585i_iot02a/readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ line arguments. Required arguments are noted below.
The following instructions build multi-core TF-M with regression test suites
in Isolation Level 1.

In common STM (``platform\ext\target\stm\common\build_stm``)
There are scripts that help users to build the TF-M project on all STM platforms

.. code-block:: bash


Expand Down
3 changes: 3 additions & 0 deletions docs/platform/stm/nucleo_l552ze_q/readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ line arguments. Required arguments are noted below.
The following instructions build multi-core TF-M with regression test suites
in Isolation Level 1.

In common STM (``platform\ext\target\stm\common\build_stm``)
There are scripts that help users to build the TF-M project on all STM platforms

.. code-block:: bash


Expand Down
Loading