Enable NSID management from NS side
Enable the new implementation on NS client identification from NS side.
Replace TFM_NS_CLIENT_IDENTIFICATION with TFM_NS_MANAGE_NSID.
TFM_NS_MANAGE_NSID is used to enable new NSID management from NS side.
TFM_NS_CLIENT_IDENTIFICATION for old NSID implementation needs to be deprecated.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I29700f1beeaba32e0167b90e9876c334992474d5
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index ace6184..9613494 100755
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -30,6 +30,9 @@
# NS interface implemented by NSPE
set(NS_INTERFACE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../ns_interface)
+# nsid_manager
+set(NSID_MGR_DIR ${NS_INTERFACE_DIR}/ns_client_ext)
+
#################### TF-M NS interface (header only) ###########################
add_library(tfm_ns_interface INTERFACE)
@@ -47,6 +50,7 @@
target_include_directories(tfm_ns_interface
INTERFACE
${NS_INTERFACE_DIR}
+ ${NSID_MGR_DIR}
)
# PSA interface files are generated from a template
@@ -65,7 +69,7 @@
INTERFACE
$<$<BOOL:${TFM_PSA_API}>:TFM_PSA_API>
$<$<STREQUAL:${TEST_PSA_API},IPC>:PSA_API_TEST_IPC>
- $<$<BOOL:${TFM_NS_CLIENT_IDENTIFICATION}>:TFM_NS_CLIENT_IDENTIFICATION>
+ $<$<BOOL:${TFM_NS_MANAGE_NSID}>:TFM_NS_MANAGE_NSID>
$<$<BOOL:${TFM_MULTI_CORE_TOPOLOGY}>:TFM_MULTI_CORE_TOPOLOGY>
$<$<BOOL:${TFM_MULTI_CORE_NS_OS}>:TFM_MULTI_CORE_NS_OS>
$<$<AND:$<BOOL:${TFM_MULTI_CORE_NS_OS_MAILBOX_THREAD}>,$<BOOL:${TFM_MULTI_CORE_NS_OS}>>:TFM_MULTI_CORE_NS_OS_MAILBOX_THREAD>
@@ -76,6 +80,11 @@
add_library(tfm_api_ns STATIC)
+target_sources(tfm_api_ns
+ PRIVATE
+ $<$<BOOL:${TFM_NS_MANAGE_NSID}>:${NSID_MGR_DIR}/tfm_nsid_manager.c>
+)
+
if (${TFM_PSA_API})
target_sources(tfm_api_ns PRIVATE
$<$<OR:$<BOOL:${FORWARD_PROT_MSG}>,$<BOOL:${TFM_PARTITION_PLATFORM}>>:${INTERFACE_SRC_DIR}/tfm_platform_ipc_api.c>
@@ -269,9 +278,11 @@
target_sources(CMSIS_5_tfm_ns
INTERFACE
+ ${NSID_MGR_DIR}/tz_shim_layer.c
${CMSIS_5_PATH}/RTOS2/RTX/Config/RTX_Config.c
${CMSIS_5_PATH}/RTOS2/RTX/Source/rtx_lib.c
${CMAKE_CURRENT_SOURCE_DIR}/os_wrapper_cmsis_rtos_v2.c
+ $<$<BOOL:${TFM_NS_MANAGE_NSID}>:${CMAKE_CURRENT_SOURCE_DIR}/tfm_nsid_map_table.c>
)
target_include_directories(CMSIS_5_tfm_ns
@@ -280,9 +291,15 @@
${CMSIS_5_PATH}/RTOS2/Include
${CMSIS_5_PATH}/RTOS2/RTX/Include
${CMSIS_5_PATH}/RTOS2/RTX/Config
+ $<$<BOOL:${TFM_NS_MANAGE_NSID}>:${CMAKE_CURRENT_SOURCE_DIR}>
)
target_link_libraries(CMSIS_5_tfm_ns
INTERFACE
platform_ns
)
+
+target_compile_definitions(CMSIS_5_tfm_ns
+ INTERFACE
+ $<$<BOOL:${TFM_NS_MANAGE_NSID}>:TFM_NS_MANAGE_NSID>
+)