blob: ccecc59a15519893d2cbcf4a05489a9baf7cd9ba [file] [log] [blame]
Raef Coles958aeef2020-10-08 12:12:58 +01001#-------------------------------------------------------------------------------
David Hu8b526d42020-11-27 20:59:52 +08002# Copyright (c) 2020-2021, Arm Limited. All rights reserved.
Raef Coles958aeef2020-10-08 12:12:58 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8function(tfm_invalid_config)
9 if (${ARGV})
10 string (REPLACE ";" " " ARGV_STRING "${ARGV}")
Minos Galanakisf216e2b2020-11-09 17:12:01 +000011 string (REPLACE "STREQUAL" "=" ARGV_STRING "${ARGV_STRING}")
12 string (REPLACE "GREATER" ">" ARGV_STRING "${ARGV_STRING}")
13 string (REPLACE "LESS" "<" ARGV_STRING "${ARGV_STRING}")
14 string (REPLACE "VERSION_LESS" "<" ARGV_STRING "${ARGV_STRING}")
15 string (REPLACE "EQUAL" "=" ARGV_STRING "${ARGV_STRING}")
16 string (REPLACE "IN_LIST" "in" ARGV_STRING "${ARGV_STRING}")
Raef Coles958aeef2020-10-08 12:12:58 +010017
18 message(FATAL_ERROR "INVALID CONFIG: ${ARGV_STRING}")
19 endif()
20endfunction()
21
Minos Galanakisf216e2b2020-11-09 17:12:01 +000022tfm_invalid_config(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "7.3.1")
23
Michel Jaouene23dc222021-03-11 15:10:59 +010024set (TFM_L3_PLATFORM_LISTS mps2/an521 musca_b1/sse_200 stm/stm32l562e_dk)
Mingyang Sunc9d24712020-10-23 15:06:34 +080025
26tfm_invalid_config(TFM_ISOLATION_LEVEL LESS 1 OR TFM_ISOLATION_LEVEL GREATER 3)
27tfm_invalid_config(TFM_ISOLATION_LEVEL EQUAL 3 AND NOT TFM_PLATFORM IN_LIST TFM_L3_PLATFORM_LISTS)
Raef Coles958aeef2020-10-08 12:12:58 +010028tfm_invalid_config(TFM_ISOLATION_LEVEL GREATER 1 AND NOT TFM_PSA_API)
29
30tfm_invalid_config(TFM_MULTI_CORE_TOPOLOGY AND NOT TFM_PSA_API)
Raef Coles958aeef2020-10-08 12:12:58 +010031
32tfm_invalid_config(TEST_S AND TEST_PSA_API)
33tfm_invalid_config(TEST_NS AND TEST_PSA_API)
34
35tfm_invalid_config((TFM_PARTITION_PROTECTED_STORAGE AND PS_ROLLBACK_PROTECTION) AND NOT TFM_PARTITION_PLATFORM)
Jamie Foxc8d92932020-11-12 14:21:23 +000036tfm_invalid_config(PS_ROLLBACK_PROTECTION AND NOT PS_ENCRYPTION)
Raef Coles958aeef2020-10-08 12:12:58 +010037
Øyvind Rønningstad72004712021-03-11 15:55:28 +010038tfm_invalid_config(SUITE STREQUAL "IPC" AND NOT TEST_PSA_API STREQUAL "IPC")
39
Raef Coles958aeef2020-10-08 12:12:58 +010040tfm_invalid_config(TEST_PSA_API STREQUAL "IPC" AND NOT TFM_PSA_API)
41tfm_invalid_config(TEST_PSA_API STREQUAL "CRYPTO" AND NOT TFM_PARTITION_CRYPTO)
42tfm_invalid_config(TEST_PSA_API STREQUAL "INITIAL_ATTESTATION" AND NOT TFM_PARTITION_INITIAL_ATTESTATION)
43tfm_invalid_config(TEST_PSA_API STREQUAL "INTERNAL_TRUSTED_STORAGE" AND NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
44tfm_invalid_config(TEST_PSA_API STREQUAL "PROTECTED_STORAGE" AND NOT TFM_PARTITION_PROTECTED_STORAGE)
45tfm_invalid_config(TEST_PSA_API STREQUAL "STORAGE" AND NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
46tfm_invalid_config(TEST_PSA_API STREQUAL "STORAGE" AND NOT TFM_PARTITION_PROTECTED_STORAGE)
47
48tfm_invalid_config(CRYPTO_HW_ACCELERATOR_OTP_STATE AND NOT CRYPTO_HW_ACCELERATOR)
49tfm_invalid_config(CRYPTO_HW_ACCELERATOR_OTP_STATE AND NOT (CRYPTO_HW_ACCELERATOR_OTP_STATE STREQUAL "ENABLED" OR CRYPTO_HW_ACCELERATOR_OTP_STATE STREQUAL "PROVISIONING"))
David Vincze0c515de2020-11-25 19:02:57 +010050
51########################## BL2 #################################################
52
53get_property(MCUBOOT_STRATEGY_LIST CACHE MCUBOOT_UPGRADE_STRATEGY PROPERTY STRINGS)
54tfm_invalid_config(NOT MCUBOOT_UPGRADE_STRATEGY IN_LIST MCUBOOT_STRATEGY_LIST)
55
Tamas Ban3a7cb3c2020-11-25 15:45:04 +000056####################### Code sharing ###########################################
57
58set(TFM_CODE_SHARING_PLATFORM_LISTS mps2/an521 musca_b1/sse_200) # Without crypto hw acceleration
59tfm_invalid_config(NOT TFM_CODE_SHARING STREQUAL "OFF" AND NOT TFM_PLATFORM IN_LIST TFM_CODE_SHARING_PLATFORM_LISTS)
60tfm_invalid_config(NOT TFM_CODE_SHARING STREQUAL "OFF" AND CRYPTO_HW_ACCELERATOR)
61tfm_invalid_config(TFM_CODE_SHARING STREQUAL "OFF" AND TFM_CODE_SHARING_PATH)
Summer Qin2cd2ab72020-04-22 14:55:00 +080062
63####################### SP META Pointer ########################################
64
65tfm_invalid_config(TFM_SP_META_PTR_ENABLE AND NOT TFM_PSA_API)