Test: Add FP test cases
1. Enable FP support for test framework.
2. Adding FP service partition for FPU test.
3. Adding test cases in TFM_SP_SECURE_TEST_PARTITION partition to
verify FP context protection.
4. Separate qcbor, t_cose for SPE and NSPE.
Note:
FPU is used by SPE only, NSPE is not allowed to use FPU at current
stage.
Change-Id: I703cac5b3fc8e8c0840babb7af16fa346b5d2c95
Signed-off-by: Feder Liang <Feder.Liang@arm.com>
diff --git a/test/config/check_config.cmake b/test/config/check_config.cmake
index 41f2c0b..171f6d2 100644
--- a/test/config/check_config.cmake
+++ b/test/config/check_config.cmake
@@ -34,6 +34,7 @@
message(STATUS "TEST_S_PLATFORM is set as ${TEST_S_PLATFORM}")
message(STATUS "TEST_S_FWU is set as ${TEST_S_FWU}")
message(STATUS "TEST_S_IPC is set as ${TEST_S_IPC}")
+message(STATUS "TEST_S_FPU is set as ${TEST_S_FPU}")
message(STATUS "---------- Display TEST Configuration - stop ---------------")
@@ -47,6 +48,8 @@
tfm_invalid_config(NOT TFM_PARTITION_FIRMWARE_UPDATE AND (TEST_NS_FWU OR TEST_S_FWU))
tfm_invalid_config(NOT TFM_PARTITION_AUDIT_LOG AND (TEST_NS_AUDIT OR TEST_S_AUDIT))
tfm_invalid_config((TFM_LIB_MODEL) AND (TEST_NS_IPC OR TEST_S_IPC OR TEST_NS_SLIH_IRQ OR TEST_NS_FLIH_IRQ))
+tfm_invalid_config(CONFIG_TFM_SPE_FP STREQUAL "0" AND TEST_S_FPU)
+tfm_invalid_config(TFM_LIB_MODEL AND TEST_S_FPU)
tfm_invalid_config((NOT TFM_MULTI_CORE_TOPOLOGY) AND TEST_NS_MULTI_CORE)
tfm_invalid_config(TEST_NS_T_COSE AND SYMMETRIC_INITIAL_ATTESTATION)
tfm_invalid_config((NOT TFM_NS_MANAGE_NSID) AND TEST_NS_MANAGE_NSID)
diff --git a/test/config/default_s_test_config.cmake b/test/config/default_s_test_config.cmake
index 4a38da7..b2a8575 100644
--- a/test/config/default_s_test_config.cmake
+++ b/test/config/default_s_test_config.cmake
@@ -19,3 +19,4 @@
set(TEST_S_PLATFORM ON CACHE BOOL "Whether to build S regression Platform tests")
set(TEST_S_FWU OFF CACHE BOOL "Whether to build S regression FWU tests")
set(TEST_S_IPC ON CACHE BOOL "Whether to build S regression IPC tests")
+set(TEST_S_FPU OFF CACHE BOOL "Whether to build S regression FPU tests")
diff --git a/test/config/default_test_config.cmake b/test/config/default_test_config.cmake
index 7f3deee..1bfacae 100644
--- a/test/config/default_test_config.cmake
+++ b/test/config/default_test_config.cmake
@@ -70,6 +70,10 @@
set(ATTEST_TEST_GET_PUBLIC_KEY OFF CACHE BOOL "Require to retrieve Initial Attestation public in runtime for test purpose")
+############################################ FPU Tests #########################
+
+set(TEST_S_FPU OFF CACHE BOOL "Whether to build S regression FPU tests")
+
################################## Extra test suites ###########################
set(EXTRA_NS_TEST_SUITES_PATHS "" CACHE PATH "List of extra non-secure test suites directories. An extra test suite folder contains source code, CMakeLists.txt and cmake configuration file")
diff --git a/test/config/set_config.cmake b/test/config/set_config.cmake
index 75f6477..57f2117 100644
--- a/test/config/set_config.cmake
+++ b/test/config/set_config.cmake
@@ -67,6 +67,10 @@
set(TEST_NS_MANAGE_NSID OFF CACHE BOOL "Whether to build NS regression NSID management tests")
endif()
+if (CONFIG_TFM_SPE_FP STREQUAL "0")
+ set(TEST_S_FPU OFF CACHE BOOL "Whether to build S regression FPU tests")
+endif()
+
########################## Test framework sync #################################
get_cmake_property(CACHE_VARS CACHE_VARIABLES)