Build: Support building IPC model without tests
Refactors the build configuration variables so that the Core IPC tests
are only built if either CORE_TEST or REGRESSION is enabled (as well as
CORE_IPC). This matches the build behaviour for library model.
Adds a TFM_PARTITION_TEST_CORE_IPC build variable to make it possible
to compile-out the Core IPC test partition when the Core IPC tests are
not built.
Removes some unneeded build system behaviour that was conditional on
CORE_TEST to avoid causing problems when CORE_IPC is enabled.
Change-Id: Ia88bd3785817cc2dcedf88b737690fc32cc3266e
Signed-off-by: Jamie Fox <jamie.fox@arm.com>
diff --git a/CommonConfig.cmake b/CommonConfig.cmake
index eb37566..bfcdf18 100644
--- a/CommonConfig.cmake
+++ b/CommonConfig.cmake
@@ -103,6 +103,7 @@
#Settings which shall be set for all projects the same way based
# on the variables above.
set (TFM_PARTITION_TEST_CORE OFF)
+set (TFM_PARTITION_TEST_CORE_IPC OFF)
set (CORE_TEST_POSITIVE OFF)
set (CORE_TEST_INTERACTIVE OFF)
set (REFERENCE_PLATFORM OFF)
@@ -130,7 +131,6 @@
if (CORE_IPC)
set(TFM_PSA_API ON)
- set(CORE_TEST_IPC ON)
endif()
if (TFM_PSA_API)
@@ -144,14 +144,20 @@
if (SERVICES_TEST_ENABLED)
set(SERVICE_TEST_S ON)
set(SERVICE_TEST_NS ON)
- if (REFERENCE_PLATFORM AND NOT CORE_IPC)
+ if (CORE_IPC)
+ set(CORE_TEST_IPC ON)
+ elseif (REFERENCE_PLATFORM)
set(CORE_TEST_POSITIVE ON)
endif()
endif()
if (CORE_TEST)
- set(CORE_TEST_POSITIVE ON)
- set(CORE_TEST_INTERACTIVE OFF)
+ if (CORE_IPC)
+ set(CORE_TEST_IPC ON)
+ elseif (REFERENCE_PLATFORM)
+ set(CORE_TEST_POSITIVE ON)
+ set(CORE_TEST_INTERACTIVE OFF)
+ endif()
endif()
if (CORE_TEST_INTERACTIVE)
@@ -168,12 +174,14 @@
if (CORE_TEST_IPC)
add_definitions(-DCORE_TEST_IPC)
- # If PSA_API_TEST is enabled, don't run TF-M test framework from NS
- if (PSA_API_TEST)
- set(TEST_FRAMEWORK_NS OFF)
- else()
- set(TEST_FRAMEWORK_NS ON)
- endif()
+ set(TEST_FRAMEWORK_NS ON)
+ set(TFM_PARTITION_TEST_CORE_IPC ON)
+elseif (CORE_IPC AND (NOT PSA_API_TEST) AND (TFM_LVL EQUAL 1))
+ # FIXME: Running the Core IPC tests in this config is deprecated and will
+ # be removed in the future.
+ set(CORE_TEST_IPC ON)
+ add_definitions(-DCORE_TEST_IPC)
+ set(TEST_FRAMEWORK_NS ON)
endif()
if (SERVICE_TEST_S)
@@ -213,6 +221,10 @@
add_definitions(-DTFM_PARTITION_TEST_CORE)
endif()
+if (TFM_PARTITION_TEST_CORE_IPC)
+ add_definitions(-DTFM_PARTITION_TEST_CORE_IPC)
+endif()
+
if (TFM_PARTITION_TEST_SECURE_SERVICES)
add_definitions(-DTFM_PARTITION_TEST_SECURE_SERVICES)
endif()
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 5aeebf7..0d1f2d8 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -131,12 +131,6 @@
embedded_target_include_directories(TARGET ${PROJECT_OBJ_LIB} PATH ${CMSIS_5_DIR}/CMSIS/RTOS2/Include ABSOLUTE APPEND)
embedded_target_include_directories(TARGET ${PROJECT_OBJ_LIB} PATH ${CMSIS_5_DIR}/CMSIS/RTOS2/RTX/Config ABSOLUTE APPEND)
-if (NOT DEFINED CORE_TEST)
- message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined. ")
-elseif(CORE_TEST)
- target_compile_definitions(${PROJECT_OBJ_LIB} PRIVATE CORE_TEST)
-endif()
-
if (NOT DEFINED TFM_NS_CLIENT_IDENTIFICATION)
message(FATAL_ERROR "Incomplete build configuration: TFM_NS_CLIENT_IDENTIFICATION is undefined.")
elseif (TFM_NS_CLIENT_IDENTIFICATION)
@@ -240,6 +234,12 @@
embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE")
endif()
+ if (NOT DEFINED TFM_PARTITION_TEST_CORE_IPC)
+ message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE_IPC is undefined.")
+ elseif (TFM_PARTITION_TEST_CORE_IPC)
+ embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE_IPC")
+ endif()
+
if (NOT DEFINED TFM_PARTITION_TEST_SECURE_SERVICES)
message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SECURE_SERVICES is undefined. ")
elseif (TFM_PARTITION_TEST_SECURE_SERVICES)
diff --git a/interface/include/tfm_veneers.h b/interface/include/tfm_veneers.h
index ae4bb69..db3de27 100644
--- a/interface/include/tfm_veneers.h
+++ b/interface/include/tfm_veneers.h
@@ -107,13 +107,13 @@
psa_status_t tfm_tfm_secure_client_service_sfn_run_tests_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#ifdef __cplusplus
}
diff --git a/platform/ext/common/armclang/tfm_common_s.sct b/platform/ext/common/armclang/tfm_common_s.sct
index 48e27b1..141c6a9 100644
--- a/platform/ext/common/armclang/tfm_common_s.sct
+++ b/platform/ext/common/armclang/tfm_common_s.sct
@@ -92,12 +92,12 @@
}
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
TFM_SP_IPC_SERVICE_TEST +0 ALIGN 32 {
*ipc_service_test.* (+RO)
*(TFM_SP_IPC_SERVICE_TEST_ATTR_FN)
}
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/*
* This empty, zero long execution region is here to mark the end address
@@ -128,12 +128,12 @@
}
#endif /* TFM_PARTITION_TEST_CORE */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
TFM_SP_IPC_CLIENT_TEST +0 ALIGN 32 {
*ipc_client_test.* (+RO)
*(TFM_SP_IPC_CLIENT_TEST_ATTR_FN)
}
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/*
* This empty, zero long execution region is here to mark the end address
@@ -262,7 +262,7 @@
#endif
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
TFM_SP_IPC_SERVICE_TEST_DATA +0 ALIGN 32 {
*ipc_service_test.* (+RW +ZI)
}
@@ -271,7 +271,7 @@
TFM_SP_IPC_SERVICE_TEST_STACK +0 ALIGN 128 EMPTY 0x0200 {
}
#endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/*
* This empty, zero long execution region is here to mark the end address
@@ -310,7 +310,7 @@
#endif
#endif /* TFM_PARTITION_TEST_CORE */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
TFM_SP_IPC_CLIENT_TEST_DATA +0 ALIGN 32 {
*ipc_client_test.* (+RW +ZI)
}
@@ -319,7 +319,7 @@
TFM_SP_IPC_CLIENT_TEST_STACK +0 ALIGN 128 EMPTY 0x0200 {
}
#endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/*
* This empty, zero long execution region is here to mark the end address
diff --git a/platform/ext/common/gcc/tfm_common_s.ld b/platform/ext/common/gcc/tfm_common_s.ld
index 9410b92..f790182 100644
--- a/platform/ext/common/gcc/tfm_common_s.ld
+++ b/platform/ext/common/gcc/tfm_common_s.ld
@@ -103,16 +103,16 @@
LONG (ADDR(.TFM_SP_SECURE_TEST_PARTITION_DATA))
LONG (SIZEOF(.TFM_SP_SECURE_TEST_PARTITION_DATA))
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
LONG (LOADADDR(.TFM_SP_IPC_SERVICE_TEST_DATA))
LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_DATA))
LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_DATA))
-#endif /* TFM_PSA_API */
-#ifdef TFM_PSA_API
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
+#ifdef TFM_PARTITION_TEST_CORE_IPC
LONG (LOADADDR(.TFM_SP_IPC_CLIENT_TEST_DATA))
LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_DATA))
LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_DATA))
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
__copy_table_end__ = .;
} > FLASH
@@ -188,22 +188,22 @@
LONG (SIZEOF(.TFM_SP_SECURE_TEST_PARTITION_STACK))
#endif
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_BSS))
LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_BSS))
#if defined(TFM_PSA_API) || (TFM_LVL != 1)
LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_STACK))
LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_STACK))
#endif
-#endif /* TFM_PSA_API */
-#ifdef TFM_PSA_API
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
+#ifdef TFM_PARTITION_TEST_CORE_IPC
LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_BSS))
LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_BSS))
#if defined(TFM_PSA_API) || (TFM_LVL != 1)
LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_STACK))
LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_STACK))
#endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#if !defined(TFM_PSA_API)
LONG (ADDR(.TFM_UNPRIV_SCRATCH))
LONG (SIZEOF(.TFM_UNPRIV_SCRATCH))
@@ -334,7 +334,7 @@
Image$$TFM_SP_SECURE_TEST_PARTITION$$Limit = ADDR(.TFM_SP_SECURE_TEST_PARTITION) + SIZEOF(.TFM_SP_SECURE_TEST_PARTITION);
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
.TFM_SP_IPC_SERVICE_TEST : ALIGN(32)
{
*ipc_service_test.*(.text*)
@@ -346,7 +346,7 @@
Image$$TFM_SP_IPC_SERVICE_TEST$$RO$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST);
Image$$TFM_SP_IPC_SERVICE_TEST$$Base = ADDR(.TFM_SP_IPC_SERVICE_TEST);
Image$$TFM_SP_IPC_SERVICE_TEST$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/**** PSA RoT RO part (CODE + RODATA) end here */
Image$$TFM_PSA_CODE_END$$Base = .;
@@ -382,7 +382,7 @@
Image$$TFM_SP_CORE_TEST_2$$Limit = ADDR(.TFM_SP_CORE_TEST_2) + SIZEOF(.TFM_SP_CORE_TEST_2);
#endif /* TFM_PARTITION_TEST_CORE */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
.TFM_SP_IPC_CLIENT_TEST : ALIGN(32)
{
*ipc_client_test.*(.text*)
@@ -394,7 +394,7 @@
Image$$TFM_SP_IPC_CLIENT_TEST$$RO$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST);
Image$$TFM_SP_IPC_CLIENT_TEST$$Base = ADDR(.TFM_SP_IPC_CLIENT_TEST);
Image$$TFM_SP_IPC_CLIENT_TEST$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/**** APPLICATION RoT RO part (CODE + RODATA) end here */
Image$$TFM_APP_CODE_END$$Base = .;
@@ -725,7 +725,7 @@
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
.TFM_SP_IPC_SERVICE_TEST_DATA : ALIGN(32)
{
*ipc_service_test.*(.data*)
@@ -752,7 +752,7 @@
Image$$TFM_SP_IPC_SERVICE_TEST_STACK$$ZI$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST_STACK) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST_STACK);
#endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/**** PSA RoT DATA end here */
Image$$TFM_PSA_RW_STACK_END$$Base = .;
@@ -818,7 +818,7 @@
#endif /* TFM_PARTITION_TEST_CORE */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
.TFM_SP_IPC_CLIENT_TEST_DATA : ALIGN(32)
{
*ipc_client_test.*(.data*)
@@ -845,7 +845,7 @@
Image$$TFM_SP_IPC_CLIENT_TEST_STACK$$ZI$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST_STACK) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST_STACK);
#endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
/**** APPLICATION RoT DATA end here */
Image$$TFM_APP_RW_STACK_END$$Base = .;
diff --git a/secure_fw/CMakeLists.txt b/secure_fw/CMakeLists.txt
index 3186c5d..73dcc29 100644
--- a/secure_fw/CMakeLists.txt
+++ b/secure_fw/CMakeLists.txt
@@ -98,7 +98,7 @@
if (NOT DEFINED CORE_TEST)
message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined.")
elseif(CORE_TEST)
- embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES TFM_CORE_DEBUG TFM_PARTITION_TEST_CORE APPEND)
+ embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES TFM_CORE_DEBUG APPEND)
endif()
if (NOT DEFINED TFM_NS_CLIENT_IDENTIFICATION)
@@ -166,7 +166,7 @@
#Set macro definitions for the project.
embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES __thumb2__ __ARM_FEATURE_CMSE=3 TFM_LVL=${TFM_LVL} ${DEBUG_AUTHENTICATION} APPEND)
- if (REGRESSION OR CORE_TEST OR CORE_IPC)
+ if (REGRESSION OR CORE_TEST)
if (DEFINED TFM_PARTITION_TEST_SECURE_SERVICES AND TFM_PARTITION_TEST_SECURE_SERVICES)
#The test service veneers in the tfm_secure_tests library may not be
#referenced in the secure binary so the veneer objects are explicitly loaded
@@ -213,6 +213,12 @@
embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE")
endif()
+ if (NOT DEFINED TFM_PARTITION_TEST_CORE_IPC)
+ message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE_IPC is undefined.")
+ elseif (TFM_PARTITION_TEST_CORE_IPC)
+ embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE_IPC")
+ endif()
+
if (NOT DEFINED TFM_PARTITION_TEST_SECURE_SERVICES)
message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SECURE_SERVICES is undefined. ")
elseif (TFM_PARTITION_TEST_SECURE_SERVICES)
diff --git a/secure_fw/ns_callable/tfm_veneers.c b/secure_fw/ns_callable/tfm_veneers.c
index f04422d..aff38e8 100644
--- a/secure_fw/ns_callable/tfm_veneers.c
+++ b/secure_fw/ns_callable/tfm_veneers.c
@@ -101,13 +101,13 @@
psa_status_t tfm_secure_client_service_sfn_run_tests(psa_invec *, size_t, psa_outvec *, size_t);
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#define TFM_VENEER_FUNCTION(partition_name, sfn_name) \
@@ -213,11 +213,11 @@
TFM_VENEER_FUNCTION(TFM_SP_SECURE_TEST_PARTITION, tfm_secure_client_service_sfn_run_tests)
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
diff --git a/secure_fw/services/crypto/CMakeLists.txt b/secure_fw/services/crypto/CMakeLists.txt
index e288461..5f028c7 100644
--- a/secure_fw/services/crypto/CMakeLists.txt
+++ b/secure_fw/services/crypto/CMakeLists.txt
@@ -37,13 +37,6 @@
include(CMakeLists.inc)
-#Configure how we build our target
-if(DEFINED CORE_TEST)
- set (TFM_LVL 3)
-else()
- set (TFM_LVL 1)
-endif()
-
#Create a list of the C defines
list(APPEND TFM_CRYPTO_C_DEFINES_LIST __ARM_FEATURE_CMSE=3 __thumb2__ TFM_LVL=${TFM_LVL})
diff --git a/secure_fw/services/tfm_partition_defs.inc b/secure_fw/services/tfm_partition_defs.inc
index 3a0b197..19e459d 100644
--- a/secure_fw/services/tfm_partition_defs.inc
+++ b/secure_fw/services/tfm_partition_defs.inc
@@ -36,13 +36,13 @@
#define TFM_SP_SECURE_TEST_PARTITION_ID (TFM_SP_BASE + 7)
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
#define TFM_SP_IPC_SERVICE_TEST_ID (TFM_SP_BASE + 8)
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
#define TFM_SP_IPC_CLIENT_TEST_ID (TFM_SP_BASE + 9)
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#define TFM_MAX_USER_PARTITIONS (10)
diff --git a/secure_fw/services/tfm_partition_list.inc b/secure_fw/services/tfm_partition_list.inc
index 3a47e19..fef79e6 100644
--- a/secure_fw/services/tfm_partition_list.inc
+++ b/secure_fw/services/tfm_partition_list.inc
@@ -71,20 +71,20 @@
PARTITION_ADD_PERIPHERAL(TFM_SP_SECURE_TEST_PARTITION, TFM_PERIPHERAL_STD_UART);
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_SERVICE_TEST ********/
PARTITION_DECLARE(TFM_SP_IPC_SERVICE_TEST, 0
| SPM_PART_FLAG_IPC
, "PSA-ROT", 0x00000007, HIGH);
PARTITION_ADD_INIT_FUNC(TFM_SP_IPC_SERVICE_TEST, ipc_service_test_main);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_CLIENT_TEST ********/
PARTITION_DECLARE(TFM_SP_IPC_CLIENT_TEST, 0
| SPM_PART_FLAG_IPC
, "APPLICATION-ROT", 0x00000006, NORMAL);
PARTITION_ADD_INIT_FUNC(TFM_SP_IPC_CLIENT_TEST, ipc_client_init);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#endif /* __TFM_PARTITION_LIST_INC__ */
diff --git a/secure_fw/services/tfm_service_list.inc b/secure_fw/services/tfm_service_list.inc
index 3bc40c7..51b0a51 100644
--- a/secure_fw/services/tfm_service_list.inc
+++ b/secure_fw/services/tfm_service_list.inc
@@ -264,7 +264,7 @@
},
#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_SERVICE_TEST ********/
{
"IPC_SID_BASIC",
@@ -275,10 +275,10 @@
1,
TFM_VERSION_POLICY_STRICT
},
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
#endif /* __TFM_SERVICE_LIST_INC__ */
diff --git a/test/suites/core/CMakeLists.inc b/test/suites/core/CMakeLists.inc
index fef1ee4..85092e2 100644
--- a/test/suites/core/CMakeLists.inc
+++ b/test/suites/core/CMakeLists.inc
@@ -1,5 +1,5 @@
#-------------------------------------------------------------------------------
-# Copyright (c) 2017-2018, Arm Limited. All rights reserved.
+# Copyright (c) 2017-2019, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -25,7 +25,7 @@
endif()
if (NOT DEFINED TFM_PARTITION_TEST_CORE)
- message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined. ")
+ message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE is undefined. ")
elseif (TFM_PARTITION_TEST_CORE)
list(APPEND ALL_SRC_C_NS "${CORE_TEST_DIR}/non_secure/core_test_api.c")
endif()
@@ -46,4 +46,3 @@
embedded_include_directories(PATH ${TFM_ROOT_DIR} ABSOLUTE)
embedded_include_directories(PATH ${TFM_ROOT_DIR}/test/interface/include ABSOLUTE)
embedded_include_directories(PATH ${TFM_ROOT_DIR}/interface/include ABSOLUTE)
-
diff --git a/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c b/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
index ad86b95..ad1702e 100644
--- a/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
+++ b/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
@@ -15,11 +15,14 @@
/* List of tests */
static void tfm_ipc_test_1001(struct test_result_t *ret);
+#ifdef TFM_PARTITION_TEST_CORE_IPC
static void tfm_ipc_test_1002(struct test_result_t *ret);
static void tfm_ipc_test_1003(struct test_result_t *ret);
static void tfm_ipc_test_1004(struct test_result_t *ret);
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
static struct test_t ipc_veneers_tests[] = {
+#ifdef TFM_PARTITION_TEST_CORE_IPC
{&tfm_ipc_test_1001, "TFM_IPC_TEST_1001",
"Get PSA framework version", {0} },
{&tfm_ipc_test_1002, "TFM_IPC_TEST_1002",
@@ -28,6 +31,10 @@
"Connect to a RoT Service", {0} },
{&tfm_ipc_test_1004, "TFM_IPC_TEST_1004",
"Call a RoT Service", {0} }
+#else /* TFM_PARTITION_TEST_CORE_IPC */
+ {&tfm_ipc_test_1001, "TFM_IPC_TEST_1001",
+ "Deprecated", {0} },
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
};
void register_testsuite_ns_ipc_interface(struct test_suite_t *p_test_suite)
@@ -49,6 +56,7 @@
*/
static void tfm_ipc_test_1001(struct test_result_t *ret)
{
+#ifdef TFM_PARTITION_TEST_CORE_IPC
uint32_t version;
version = psa_framework_version();
@@ -58,8 +66,12 @@
TEST_FAIL("The version of the PSA Framework API is not valid!\r\n");
return;
}
+#else /* TFM_PARTITION_TEST_CORE_IPC */
+ TEST_LOG("Running IPC tests in this config is deprecated\r\n");
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
}
+#ifdef TFM_PARTITION_TEST_CORE_IPC
/**
* \brief Retrieve the minor version of a RoT Service.
*/
@@ -131,3 +143,4 @@
psa_close(handle);
ret->val = TEST_PASSED;
}
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
diff --git a/tools/tfm_manifest_list.yaml b/tools/tfm_manifest_list.yaml
index 1fea8fa..ff3db72 100644
--- a/tools/tfm_manifest_list.yaml
+++ b/tools/tfm_manifest_list.yaml
@@ -85,7 +85,7 @@
"short_name": "TFM_IPC_Service",
"manifest": "test/test_services/tfm_ipc_service/tfm_ipc_service_partition.yaml",
"tfm_extensions": true,
- "conditional": "TFM_PSA_API",
+ "conditional": "TFM_PARTITION_TEST_CORE_IPC",
"version_major": 0,
"version_minor": 1
},
@@ -94,7 +94,7 @@
"short_name": "TFM_IPC_Client",
"manifest": "test/test_services/tfm_ipc_client/tfm_ipc_client_partition.yaml",
"tfm_extensions": true,
- "conditional": "TFM_PSA_API",
+ "conditional": "TFM_PARTITION_TEST_CORE_IPC",
"version_major": 0,
"version_minor": 1
}