Skip to content

Commit 9783e81

Browse files
committed
nrf_ironside: Move Ironside outside of nrf_security
Create a separate subsystem called nrf_ironside instead of having the logic in nrf_security. Ironside is completely separate from nrf_security and it should not be placed there. Make sure that nrf_security cannot be enabled at the same time as nrf_ironside as their configurations might collide. Signed-off-by: Georgios Vasilakis <[email protected]>
1 parent d358f5b commit 9783e81

File tree

14 files changed

+49
-5
lines changed

14 files changed

+49
-5
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,7 @@
824824
/subsys/nrf_profiler/ @nrfconnect/ncs-si-bluebagel
825825
/subsys/nrf_rpc/ @nrfconnect/ncs-si-muffin @nrfconnect/ncs-protocols-serialization
826826
/subsys/nrf_security/ @nrfconnect/ncs-aegir
827+
/subsys/nrf_ironside/ @nrfconnect/ncs-aurora
827828
/subsys/partition_manager/ @nordicjm @tejlmand
828829
/subsys/pcd/ @nrfconnect/ncs-pluto
829830
/subsys/secure_storage/ @nrfconnect/ncs-aegir

subsys/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ add_subdirectory_ifdef(CONFIG_SECURE_BOOT_VALIDATION bootloader/bl_validation)
1212
add_subdirectory_ifdef(CONFIG_SECURE_BOOT_STORAGE bootloader/bl_storage)
1313

1414
add_subdirectory_ifdef(CONFIG_NRF_SECURITY nrf_security)
15+
add_subdirectory_ifdef(CONFIG_NRF_IRONSIDE nrf_ironside)
1516
add_subdirectory_ifdef(CONFIG_TRUSTED_STORAGE trusted_storage)
1617
add_subdirectory_ifdef(CONFIG_SECURE_STORAGE secure_storage)
1718

subsys/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@ rsource "dult/Kconfig"
4141
rsource "nrf_compress/Kconfig"
4242
rsource "mcuboot_ids/Kconfig"
4343
rsource "settings/Kconfig"
44+
rsource "nrf_ironside/Kconfig"
4445
endmenu

subsys/nrf_security/src/ssf_secdom/CMakeLists.txt renamed to subsys/nrf_ironside/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
55
#
66

7+
if(CONFIG_PSA_SSF_CRYPTO_CLIENT)
8+
79
zephyr_library()
810
zephyr_library_sources(
911
# ironside_psa_ns_api.c provides psa_call, which sends a message over IPC.
@@ -18,6 +20,9 @@ zephyr_library_sources(
1820
zephyr_library_include_directories(
1921
${NRF_DIR}/include/tfm
2022
${ZEPHYR_TRUSTED_FIRMWARE_M_MODULE_DIR}/interface/include
23+
# Oberon PSA headers
24+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/include
25+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/library
2126
.
2227
)
2328

@@ -26,3 +31,19 @@ if(CONFIG_PSA_SSF_CRYPTO_CLIENT_OUT_BOUNCE_BUFFERS)
2631
${CMAKE_CURRENT_LIST_DIR}/bounce_buffers.c
2732
)
2833
endif()
34+
35+
zephyr_include_directories(
36+
# Oberon PSA headers
37+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/include
38+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/library
39+
# Mbed TLS (mbedcrypto) PSA headers
40+
${ZEPHYR_MBEDTLS_MODULE_DIR}/library
41+
${ZEPHYR_MBEDTLS_MODULE_DIR}/include
42+
${ZEPHYR_MBEDTLS_MODULE_DIR}/include/library
43+
.
44+
)
45+
46+
zephyr_compile_definitions(MBEDTLS_PSA_CRYPTO_CONFIG_FILE="ironside_config.h")
47+
zephyr_compile_definitions(MBEDTLS_CONFIG_FILE="ironside_config.h")
48+
49+
endif()

subsys/nrf_security/src/ssf_secdom/Kconfig renamed to subsys/nrf_ironside/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ config PSA_SSF_CRYPTO_CLIENT
1010
default y
1111
depends on SOC_NRF54H20 || SOC_SERIES_NRF92X
1212
select NRF_IRONSIDE_CALL
13+
select PSA_CRYPTO_CLIENT
1314

1415
if PSA_SSF_CRYPTO_CLIENT
1516

File renamed without changes.
File renamed without changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#define MBEDTLS_PSA_CRYPTO_CLIENT
File renamed without changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#ifndef PSA_CRYPTO_DRIVER_CONFIG_H
8+
#define PSA_CRYPTO_DRIVER_CONFIG_H
9+
10+
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG_FILE)
11+
#include MBEDTLS_PSA_CRYPTO_CONFIG_FILE
12+
#else
13+
#include "psa/crypto_config.h"
14+
#endif
15+
16+
#endif /* PSA_CRYPTO_DRIVER_CONFIG_H */

0 commit comments

Comments
 (0)