Skip to content

Commit daa9b94

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 9002fe1 commit daa9b94

File tree

14 files changed

+54
-7
lines changed

14 files changed

+54
-7
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: 20 additions & 1 deletion
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.
@@ -16,13 +18,30 @@ zephyr_library_sources(
1618
)
1719

1820
zephyr_library_include_directories(
21+
.
1922
${NRF_DIR}/include/tfm
2023
${ZEPHYR_TRUSTED_FIRMWARE_M_MODULE_DIR}/interface/include
21-
.
24+
# Oberon PSA headers
25+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/include
26+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/library
2227
)
2328

2429
if(CONFIG_PSA_SSF_CRYPTO_CLIENT_OUT_BOUNCE_BUFFERS)
2530
zephyr_library_sources(
2631
${CMAKE_CURRENT_LIST_DIR}/bounce_buffers.c
2732
)
2833
endif()
34+
35+
zephyr_include_directories(
36+
.
37+
${NRF_DIR}/include/tfm
38+
${ZEPHYR_TRUSTED_FIRMWARE_M_MODULE_DIR}/interface/include
39+
# Oberon PSA headers
40+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/include
41+
${ZEPHYR_OBERON_PSA_CRYPTO_MODULE_DIR}/library
42+
)
43+
44+
zephyr_compile_definitions(MBEDTLS_PSA_CRYPTO_CONFIG_FILE="ironside_config.h")
45+
zephyr_compile_definitions(MBEDTLS_CONFIG_FILE="ironside_config.h")
46+
47+
endif()

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,17 @@ config PSA_SSF_CRYPTO_CLIENT
88
bool
99
prompt "PSA crypto provided through SSF"
1010
default y
11-
depends on SOC_NRF54H20 || SOC_SERIES_NRF92X
11+
depends on SOC_NRF54H20_CPUAPP || SOC_NRF54H20_CPURAD || SOC_SERIES_NRF92X
1212
select NRF_IRONSIDE_CALL
13+
select PSA_CRYPTO_CLIENT
14+
select PSA_CRYPTO
1315

1416
if PSA_SSF_CRYPTO_CLIENT
1517

18+
choice PSA_CRYPTO_PROVIDER
19+
default PSA_CRYPTO_PROVIDER_CUSTOM
20+
endchoice
21+
1622
config PSA_SSF_CRYPTO_CLIENT_OUT_BOUNCE_BUFFERS
1723
bool "Support PSA crypto with output buffers that are not cache-safe"
1824
default y
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)