diff options
author | Edison Ai <edison.ai@arm.com> | 2019-07-10 18:43:51 +0800 |
---|---|---|
committer | Edison Ai <edison.ai@arm.com> | 2019-08-12 13:38:13 +0800 |
commit | cb0ecf61e90966c6d5799510231955538479f66f (patch) | |
tree | 97ec89c62fb40bea93f20347266ca21767514eb6 | |
parent | a2fb439a76d49c341e3eee37622feaf49d235668 (diff) | |
download | trusted-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.cmake | 10 | ||||
-rw-r--r-- | configs/ConfigCoreIPC.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigCoreIPCTfmLevel2.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigCoreTest.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigDefault.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigPsaApiTest.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigPsaApiTestIPC.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigPsaApiTestIPCTfmLevel2.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigRegression.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigRegressionIPC.cmake | 2 | ||||
-rw-r--r-- | configs/ConfigRegressionIPCTfmLevel2.cmake | 2 | ||||
-rw-r--r-- | secure_fw/core/tfm_core.c | 11 |
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 */ |