blob: 2a5970cbded172d562a1dcd4fef95f80e56405e5 [file] [log] [blame]
Raef Coles958aeef2020-10-08 12:12:58 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2020, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8function(tfm_invalid_config)
9 if (${ARGV})
10 string (REPLACE ";" " " ARGV_STRING "${ARGV}")
11 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 "EQUAL" "=" ARGV_STRING "${ARGV_STRING}")
Mingyang Sunc9d24712020-10-23 15:06:34 +080015 string (REPLACE "IN_LIST" "in" ARGV_STRING "${ARGV_STRING}")
Raef Coles958aeef2020-10-08 12:12:58 +010016
17 message(FATAL_ERROR "INVALID CONFIG: ${ARGV_STRING}")
18 endif()
19endfunction()
20
Mingyang Sunc9d24712020-10-23 15:06:34 +080021set (TFM_L3_PLATFORM_LISTS mps2/an521 musca_b1)
22
23tfm_invalid_config(TFM_ISOLATION_LEVEL LESS 1 OR TFM_ISOLATION_LEVEL GREATER 3)
24tfm_invalid_config(TFM_ISOLATION_LEVEL EQUAL 3 AND NOT TFM_PLATFORM IN_LIST TFM_L3_PLATFORM_LISTS)
Raef Coles958aeef2020-10-08 12:12:58 +010025tfm_invalid_config(TFM_ISOLATION_LEVEL GREATER 1 AND NOT TFM_PSA_API)
26
27tfm_invalid_config(TFM_MULTI_CORE_TOPOLOGY AND NOT TFM_PSA_API)
28tfm_invalid_config(TFM_MULTI_CORE_MULTI_CLIENT_CALL AND NOT TFM_MULTI_CORE_TOPOLOGY)
29
30tfm_invalid_config(TEST_S AND TEST_PSA_API)
31tfm_invalid_config(TEST_NS AND TEST_PSA_API)
32
33tfm_invalid_config((TFM_PARTITION_PROTECTED_STORAGE AND PS_ROLLBACK_PROTECTION) AND NOT TFM_PARTITION_PLATFORM)
34
35tfm_invalid_config(TEST_PSA_API STREQUAL "IPC" AND NOT TFM_PSA_API)
36tfm_invalid_config(TEST_PSA_API STREQUAL "CRYPTO" AND NOT TFM_PARTITION_CRYPTO)
37tfm_invalid_config(TEST_PSA_API STREQUAL "INITIAL_ATTESTATION" AND NOT TFM_PARTITION_INITIAL_ATTESTATION)
38tfm_invalid_config(TEST_PSA_API STREQUAL "INTERNAL_TRUSTED_STORAGE" AND NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
39tfm_invalid_config(TEST_PSA_API STREQUAL "PROTECTED_STORAGE" AND NOT TFM_PARTITION_PROTECTED_STORAGE)
40tfm_invalid_config(TEST_PSA_API STREQUAL "STORAGE" AND NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
41tfm_invalid_config(TEST_PSA_API STREQUAL "STORAGE" AND NOT TFM_PARTITION_PROTECTED_STORAGE)
42
43tfm_invalid_config(CRYPTO_HW_ACCELERATOR_OTP_STATE AND NOT CRYPTO_HW_ACCELERATOR)
44tfm_invalid_config(CRYPTO_HW_ACCELERATOR_OTP_STATE AND NOT (CRYPTO_HW_ACCELERATOR_OTP_STATE STREQUAL "ENABLED" OR CRYPTO_HW_ACCELERATOR_OTP_STATE STREQUAL "PROVISIONING"))