aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdison Ai <edison.ai@arm.com>2019-07-10 18:43:51 +0800
committerEdison Ai <edison.ai@arm.com>2019-08-12 13:38:13 +0800
commitcb0ecf61e90966c6d5799510231955538479f66f (patch)
tree97ec89c62fb40bea93f20347266ca21767514eb6
parenta2fb439a76d49c341e3eee37622feaf49d235668 (diff)
downloadtrusted-firmware-m-cb0ecf61e90966c6d5799510231955538479f66f.tar.gz
Build: Remove isolation level 3
- Update the comment in config files to indicate that only isolation level 1 and 2 are supported. - Add isolation level check in CommonConfig.cmake. Change-Id: I0c458b9f0f3f865e1e2659dab05f660389dce306 Signed-off-by: Edison Ai <edison.ai@arm.com>
-rw-r--r--CommonConfig.cmake10
-rw-r--r--configs/ConfigCoreIPC.cmake2
-rw-r--r--configs/ConfigCoreIPCTfmLevel2.cmake2
-rw-r--r--configs/ConfigCoreTest.cmake2
-rw-r--r--configs/ConfigDefault.cmake2
-rw-r--r--configs/ConfigPsaApiTest.cmake2
-rw-r--r--configs/ConfigPsaApiTestIPC.cmake2
-rw-r--r--configs/ConfigPsaApiTestIPCTfmLevel2.cmake2
-rw-r--r--configs/ConfigRegression.cmake2
-rw-r--r--configs/ConfigRegressionIPC.cmake2
-rw-r--r--configs/ConfigRegressionIPCTfmLevel2.cmake2
-rw-r--r--secure_fw/core/tfm_core.c11
12 files changed, 29 insertions, 12 deletions
diff --git a/CommonConfig.cmake b/CommonConfig.cmake
index 1133c97996..01c637d46f 100644
--- a/CommonConfig.cmake
+++ b/CommonConfig.cmake
@@ -19,6 +19,16 @@ elseif((NOT ${COMPILER} STREQUAL "ARMCLANG") AND (NOT ${COMPILER} STREQUAL "GNUA
message(FATAL_ERROR "ERROR: Compiler \"${COMPILER}\" is not supported.")
endif()
+if(CORE_IPC)
+ if (TFM_LVL EQUAL 3)
+ message(FATAL_ERROR "ERROR: Invalid isolation level!")
+ endif()
+else()
+ if(NOT TFM_LVL EQUAL 1)
+ message(FATAL_ERROR "ERROR: Invalid isolation level!")
+ endif()
+endif()
+
#BL2 bootloader (MCUBoot) related settings
if(NOT DEFINED BL2)
set(BL2 True CACHE BOOL "Configure TF-M to use BL2 and enable building BL2")
diff --git a/configs/ConfigCoreIPC.cmake b/configs/ConfigCoreIPC.cmake
index 69103c6eb9..87b0c67e85 100644
--- a/configs/ConfigCoreIPC.cmake
+++ b/configs/ConfigCoreIPC.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST False)
set (CORE_IPC True)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1, 2
set (TFM_LVL 1)
include ("${TFM_ROOT_DIR}/CommonConfig.cmake")
diff --git a/configs/ConfigCoreIPCTfmLevel2.cmake b/configs/ConfigCoreIPCTfmLevel2.cmake
index ddbc7d09c1..12eb09b0eb 100644
--- a/configs/ConfigCoreIPCTfmLevel2.cmake
+++ b/configs/ConfigCoreIPCTfmLevel2.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST False)
set (CORE_IPC True)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1, 2
set (TFM_LVL 2)
include ("${TFM_ROOT_DIR}/CommonConfig.cmake")
diff --git a/configs/ConfigCoreTest.cmake b/configs/ConfigCoreTest.cmake
index 7a5172b715..72700f1d76 100644
--- a/configs/ConfigCoreTest.cmake
+++ b/configs/ConfigCoreTest.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST True)
set (CORE_IPC False)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1
set (TFM_LVL 1)
include ("${TFM_ROOT_DIR}/CommonConfig.cmake")
diff --git a/configs/ConfigDefault.cmake b/configs/ConfigDefault.cmake
index 36748037c8..b1e3bb77d0 100644
--- a/configs/ConfigDefault.cmake
+++ b/configs/ConfigDefault.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST False)
set (CORE_IPC False)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1
set (TFM_LVL 1)
include ("${TFM_ROOT_DIR}/CommonConfig.cmake")
diff --git a/configs/ConfigPsaApiTest.cmake b/configs/ConfigPsaApiTest.cmake
index fe03ae6dca..1daa7179b0 100644
--- a/configs/ConfigPsaApiTest.cmake
+++ b/configs/ConfigPsaApiTest.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST False)
set (CORE_IPC False)
set (PSA_API_TEST True)
-#TF-M isolation level: 1..3
+#TF-M isolation level: 1
set (TFM_LVL 1)
#Service specific configuration for the PSA API Compliance test requirements
diff --git a/configs/ConfigPsaApiTestIPC.cmake b/configs/ConfigPsaApiTestIPC.cmake
index 57bb1d9d19..1bede269de 100644
--- a/configs/ConfigPsaApiTestIPC.cmake
+++ b/configs/ConfigPsaApiTestIPC.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST False)
set (CORE_IPC True)
set (PSA_API_TEST True)
-#TF-M isolation level: 1..3
+#TF-M isolation level: 1, 2
set (TFM_LVL 1)
#BL2 bootloader(MCUBoot) related settings
diff --git a/configs/ConfigPsaApiTestIPCTfmLevel2.cmake b/configs/ConfigPsaApiTestIPCTfmLevel2.cmake
index 6829df9762..7a3124f9dd 100644
--- a/configs/ConfigPsaApiTestIPCTfmLevel2.cmake
+++ b/configs/ConfigPsaApiTestIPCTfmLevel2.cmake
@@ -33,7 +33,7 @@ set (CORE_TEST False)
set (CORE_IPC True)
set (PSA_API_TEST True)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1, 2
set (TFM_LVL 2)
#BL2 bootloader(MCUBoot) related settings
diff --git a/configs/ConfigRegression.cmake b/configs/ConfigRegression.cmake
index cca5c4bece..aecb0ef739 100644
--- a/configs/ConfigRegression.cmake
+++ b/configs/ConfigRegression.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST True)
set (CORE_IPC False)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1
set (TFM_LVL 1)
include ("${TFM_ROOT_DIR}/CommonConfig.cmake")
diff --git a/configs/ConfigRegressionIPC.cmake b/configs/ConfigRegressionIPC.cmake
index bb797dc3dd..23b90c7e64 100644
--- a/configs/ConfigRegressionIPC.cmake
+++ b/configs/ConfigRegressionIPC.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST True)
set (CORE_IPC True)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1, 2
set (TFM_LVL 1)
#BL2 bootloader(MCUBoot) related settings
diff --git a/configs/ConfigRegressionIPCTfmLevel2.cmake b/configs/ConfigRegressionIPCTfmLevel2.cmake
index d94e9d699b..a83249fb03 100644
--- a/configs/ConfigRegressionIPCTfmLevel2.cmake
+++ b/configs/ConfigRegressionIPCTfmLevel2.cmake
@@ -37,7 +37,7 @@ set (CORE_TEST True)
set (CORE_IPC True)
set (PSA_API_TEST False)
-# TF-M isolation level: 1..3
+# TF-M isolation level: 1, 2
set (TFM_LVL 2)
#BL2 bootloader(MCUBoot) related settings
diff --git a/secure_fw/core/tfm_core.c b/secure_fw/core/tfm_core.c
index abfa6b100e..6bd0eed906 100644
--- a/secure_fw/core/tfm_core.c
+++ b/secure_fw/core/tfm_core.c
@@ -46,8 +46,15 @@ __asm(" .global __ARM_use_no_argv\n");
#ifndef TFM_LVL
#error TFM_LVL is not defined!
#endif
-#if (TFM_LVL != 1) && (TFM_LVL != 2) && (TFM_LVL != 3)
-#error Only TFM_LVL 1, 2 and 3 are supported!
+
+#ifdef TFM_PSA_API
+#if (TFM_LVL != 1) && (TFM_LVL != 2)
+#error Only TFM_LVL 1 and 2 are supported for IPC model!
+#endif
+#else
+#if (TFM_LVL != 1)
+#error Only TFM_LVL 1 is supported for library model!
+#endif
#endif
/* Macros to pick linker symbols and allow to form the partition data base */