aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSummer Qin <summer.qin@arm.com>2022-05-10 16:36:07 +0800
committerSummer Qin <summer.qin@arm.com>2022-06-30 13:35:26 +0800
commitbbb8a956161d0f49f84d27f7faf79c70f5252ca7 (patch)
tree540be05bcd4b527e184ccec6c7b073bd1c8632ac
parent03b5608b988cf02c90f311537ffb64c098c5627c (diff)
downloadtf-m-tests-bbb8a956161d0f49f84d27f7faf79c70f5252ca7.tar.gz
Test: Memory check interface update
Updated the 'tfm_hal_memory_check' because of interface update. This API is not designed for partition usage, hence the solution is fragile. Temporary disable related test case till an update is decided. Signed-off-by: Summer Qin <summer.qin@arm.com> Change-Id: I4c65cc64bbff393c902a561d73bd6a07338f86ba
-rw-r--r--test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/CMakeLists.txt1
-rw-r--r--test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/tfm_ipc_client_test.c13
-rw-r--r--test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/CMakeLists.txt1
-rw-r--r--test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/tfm_ipc_service_test.c14
4 files changed, 17 insertions, 12 deletions
diff --git a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/CMakeLists.txt b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/CMakeLists.txt
index d3552ba1..2549f6ed 100644
--- a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/CMakeLists.txt
+++ b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/CMakeLists.txt
@@ -69,5 +69,4 @@ target_link_libraries(tfm_partitions
target_compile_definitions(tfm_partition_defs
INTERFACE
TFM_PARTITION_TEST_CORE_IPC
- $<$<AND:$<BOOL:${TEST_S_IPC}>,$<VERSION_EQUAL:${TFM_ISOLATION_LEVEL},3>>:TFM_IPC_ISOLATION_3_RETRIEVE_APP_MEM>
)
diff --git a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/tfm_ipc_client_test.c b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/tfm_ipc_client_test.c
index ad2e977d..ca04de38 100644
--- a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/tfm_ipc_client_test.c
+++ b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_client/tfm_ipc_client_test.c
@@ -155,11 +155,16 @@ static int ipc_client_mem_check_test(void)
#endif
#ifdef TFM_IPC_ISOLATION_3_RETRIEVE_APP_MEM
+/*
+ * Fixme: Temporarily using a predefined boundary value.
+ * will replace it later.
+ */
+#define AROT_BOUNDARY 0
+
static int ipc_client_retrieve_app_mem_test(void)
{
psa_handle_t handle;
psa_status_t status;
- uint32_t attr = 0;
uint8_t *outvec_data[1] = {0};
struct psa_outvec outvecs[1] = {{outvec_data, sizeof(outvec_data[0])}};
@@ -180,10 +185,8 @@ static int ipc_client_retrieve_app_mem_test(void)
*/
uint8_t *psa_data_p = outvec_data[0];
if (psa_data_p) {
- attr |= (TFM_HAL_ACCESS_READABLE | TFM_HAL_ACCESS_WRITABLE
- | TFM_HAL_ACCESS_UNPRIVILEGED);
- if (tfm_hal_memory_has_access((uintptr_t)psa_data_p, 1, attr) ==
- TFM_HAL_ERROR_MEM_FAULT) {
+ if (tfm_hal_memory_check(AROT_BOUNDARY, (uintptr_t)psa_data_p, 1,
+ TFM_HAL_ACCESS_READWRITE) == TFM_HAL_ERROR_MEM_FAULT) {
return IPC_SP_TEST_SUCCESS;
} else {
return IPC_SP_TEST_FAILED;
diff --git a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/CMakeLists.txt b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/CMakeLists.txt
index 54e12525..eaade9b0 100644
--- a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/CMakeLists.txt
+++ b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/CMakeLists.txt
@@ -73,5 +73,4 @@ target_link_libraries(tfm_partitions
target_compile_definitions(tfm_partition_defs
INTERFACE
TFM_PARTITION_TEST_CORE_IPC
- $<$<VERSION_GREATER:${TFM_ISOLATION_LEVEL},1>:TFM_IPC_ISOLATION_2_TEST_READ_ONLY_MEM>
)
diff --git a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/tfm_ipc_service_test.c b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/tfm_ipc_service_test.c
index 94090639..3fc7537c 100644
--- a/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/tfm_ipc_service_test.c
+++ b/test/secure_fw/suites/spm/ipc/service/tfm_ipc_service/tfm_ipc_service_test.c
@@ -100,11 +100,17 @@ static void ipc_service_psa_access_app_mem(void)
}
#ifdef TFM_IPC_ISOLATION_2_TEST_READ_ONLY_MEM
+/*
+ * Fixme: Temporarily using a predefined boundary value.
+ * will replace it later.
+ */
+#define PROT_BOUNDARY 2
+
static void ipc_service_psa_access_app_readonly_mem(void)
{
psa_msg_t msg;
char rec_data;
- uint32_t rec_buf, attr = 0;
+ uint32_t rec_buf;
psa_get(IPC_SERVICE_TEST_PSA_ACCESS_APP_READ_ONLY_MEM_SIGNAL, &msg);
switch (msg.type) {
@@ -126,10 +132,8 @@ static void ipc_service_psa_access_app_readonly_mem(void)
psa_reply(msg.handle, -1);
break;
}
- attr |= (TFM_HAL_ACCESS_READABLE | TFM_HAL_ACCESS_WRITABLE
- | TFM_HAL_ACCESS_UNPRIVILEGED);
- if (tfm_hal_memory_has_access((uintptr_t)rec_buf, 4, attr) !=
- TFM_HAL_ERROR_MEM_FAULT) {
+ if (tfm_hal_memory_check(PROT_BOUNDARY, (uintptr_t)rec_buf, 4,
+ TFM_HAL_ACCESS_READWRITE) != TFM_HAL_ERROR_MEM_FAULT) {
psa_reply(msg.handle, PSA_ERROR_GENERIC_ERROR);
break;
}