blob: 0137a8c2e17e38539f1de8d883f839e851a4dba8 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001#!/usr/bin/env python3
2
3""" builtin_configs.py:
4
5 Default configuration files used as reference """
6
7from __future__ import print_function
8
9__copyright__ = """
10/*
Jamie Fox9e2c2352023-01-13 15:11:23 +000011 * Copyright (c) 2018-2023, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
Karl Zhang08681e62020-10-30 13:56:03 +080017
18__author__ = "tf-m@lists.trustedfirmware.org"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010019__project__ = "Trusted Firmware-M Open CI"
Xinyu Zhang06286a92021-07-22 14:00:51 +080020__version__ = "1.4.0"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010021
Paul Sokolovsky3e8fce02022-04-07 01:23:30 +030022from copy import deepcopy
23
24
Minos Galanakisea421232019-06-20 17:11:28 +010025# common parameters for tf-m build system
26# This configuration template will be passed into the tfm-builder module after
27# the template evaluation is converted to a command
28
29_common_tfm_builder_cfg = {
30 "config_type": "tf-m",
31 "codebase_root_dir": "tf-m",
32 # Order to which the variants are evaluated. This affects the name of
33 # variant configuration and the wildcard replacement logic in invalid
34 # configuration tuples
Xinyu Zhangb708f572020-09-15 11:43:46 +080035 "sort_order": ["tfm_platform",
Xinyu Zhang433771e2022-04-01 16:49:17 +080036 "compiler",
Xinyu Zhangb708f572020-09-15 11:43:46 +080037 "isolation_level",
38 "test_regression",
39 "test_psa_api",
Minos Galanakisea421232019-06-20 17:11:28 +010040 "cmake_build_type",
Xinyu Zhangb708f572020-09-15 11:43:46 +080041 "with_bl2",
Xinyu Zhang9fd74242020-10-22 11:30:50 +080042 "profile",
Xinyu Zhangfd2e1152021-12-17 18:09:01 +080043 "extra_params"],
Minos Galanakisea421232019-06-20 17:11:28 +010044
45 # Keys for the templace will come from the combinations of parameters
46 # provided in the seed dictionary.
47
Xinyu Zhangf3e19482022-01-11 15:48:13 +080048 "config_template": "cmake -G Ninja " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080049 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang433771e2022-04-01 16:49:17 +080050 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)s/%(compiler)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080051 "-DTFM_ISOLATION_LEVEL=%(isolation_level)s " + \
Xinyu Zhangb18ae742023-04-25 14:33:27 +080052 "%(test_regression)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080053 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080054 "-DTEST_PSA_API=%(test_psa_api)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080055 "-DBL2=%(with_bl2)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080056 "-DTFM_PROFILE=%(profile)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080057 "%(extra_params)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080058 "-DTFM_TEST_REPO_PATH=%(codebase_root_dir)s/../tf-m-tests " + \
59 "-DMBEDCRYPTO_PATH=%(codebase_root_dir)s/../mbedtls " + \
60 "-DPSA_ARCH_TESTS_PATH=%(codebase_root_dir)s/../psa-arch-tests " + \
61 "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
Xinyu Zhangc7ad0822022-11-23 17:54:26 +080062 "-DQCBOR_PATH=%(codebase_root_dir)s/../QCBOR " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080063 "%(codebase_root_dir)s",
Karl Zhangaff558a2020-05-15 14:28:23 +010064
Xinyu Zhang433771e2022-04-01 16:49:17 +080065 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
66
Minos Galanakisea421232019-06-20 17:11:28 +010067 # A small subset of string substitution params is allowed in commands.
68 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
69 # _tbm_target_platform_ with the paths set when building
70
Xinyu Zhangb708f572020-09-15 11:43:46 +080071 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/bin'
Minos Galanakisea421232019-06-20 17:11:28 +010072 r'/(\w+\.(?:axf|bin|hex))$'),
73
74 # ALL commands will be executed for every build.
75 # Other keys will append extra commands when matching target_platform
Fathi Boudra83e4f292020-12-04 22:33:40 +010076 "build_cmds": {"all": ["cmake --build ./ -- install"],
Mark Horvathef57baa2022-09-12 13:36:36 +020077 "arm/musca_b1": [("srec_cat "
78 "%(_tbm_build_dir_)s/bin/"
79 "bl2.bin "
80 "-Binary -offset 0xA000000 "
81 "-fill 0xFF 0xA000000 0xA020000 "
82 "%(_tbm_build_dir_)s/bin/"
83 "tfm_s_ns_signed.bin "
84 "-Binary -offset 0xA020000 "
85 "-fill 0xFF 0xA020000 0xA200000 "
86 "-o %(_tbm_build_dir_)s/bin/"
87 "tfm.hex -Intel")],
Summer Qin3c2b5722021-05-26 10:43:45 +080088 "arm/musca_s1": [("srec_cat "
Xinyu Zhangb708f572020-09-15 11:43:46 +080089 "%(_tbm_build_dir_)s/bin/"
90 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +080091 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +000092 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangb708f572020-09-15 11:43:46 +080093 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +080094 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +000095 "-Binary -offset 0xA020000 "
96 "-fill 0xFF 0xA020000 0xA200000 "
97 "-o %(_tbm_build_dir_)s/bin/"
Arthur She19c0e1a2021-06-02 11:06:19 -070098 "tfm.hex -Intel")],
99 "stm/stm32l562e_dk": [("echo 'STM32L562E-DK board post process';"
100 "%(_tbm_build_dir_)s/postbuild.sh;"
101 "pushd %(_tbm_build_dir_)s;"
Arthur She07c91b52021-07-15 15:03:10 -0700102 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
103 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Arthur She3c0dadd2021-11-18 21:17:48 -0800104 "popd")],
Arthur She026ebb62023-02-08 18:47:39 -0800105 "stm/b_u585i_iot02a": [("echo 'STM32U5 board post process';"
106 "%(_tbm_build_dir_)s/postbuild.sh;"
107 "pushd %(_tbm_build_dir_)s;"
108 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
109 "tar jcf ./bin/b_u585i_iot02a-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
110 "popd")],
111 "nxp/lpcxpresso55s69": [("echo 'LPCXpresso55S69 board post process\n';"
Arthur She3c0dadd2021-11-18 21:17:48 -0800112 "if [ -f \"%(_tbm_build_dir_)s/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
113 "pushd %(_tbm_build_dir_)s/../platform/ext/target/nxp/lpcxpresso55s69/scripts;"
114 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
115 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
116 "python3 ./${FLASH_FILE};"
117 "cd %(_tbm_build_dir_)s/bin;"
118 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
119 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Arthur She87602dc2022-02-06 14:42:18 -0800120 "popd")],
121 "cypress/psoc64": [("echo 'Sign binaries for Cypress PSoC64 platform';"
122 "pushd %(_tbm_build_dir_)s/..;"
123 "sudo /usr/local/bin/cysecuretools "
124 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
125 "--target cy8ckit-064s0s2-4343w "
126 "sign-image "
127 "--hex %(_tbm_build_dir_)s/bin/tfm_s.hex "
128 "--image-type BOOT --image-id 1;"
129 "sudo /usr/local/bin/cysecuretools "
130 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
131 "--target cy8ckit-064s0s2-4343w "
132 "sign-image "
133 "--hex %(_tbm_build_dir_)s/bin/tfm_ns.hex "
134 "--image-type BOOT --image-id 16;"
135 "mv %(_tbm_build_dir_)s/bin/tfm_s.hex %(_tbm_build_dir_)s/bin/tfm_s_signed.hex;"
136 "mv %(_tbm_build_dir_)s/bin/tfm_ns.hex %(_tbm_build_dir_)s/bin/tfm_ns_signed.hex;"
137 "popd")]
Minos Galanakisea421232019-06-20 17:11:28 +0100138 },
139
140 # (Optional) If set will fail if those artefacts are missing post build
141 "required_artefacts": {"all": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800142 "%(_tbm_build_dir_)s/bin/"
143 "tfm_s.bin",
144 "%(_tbm_build_dir_)s/bin/"
145 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200146 "arm/musca_b1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800147 "%(_tbm_build_dir_)s/bin/"
148 "tfm.hex",
149 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800150 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800151 "%(_tbm_build_dir_)s/bin/"
152 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800153 "arm/musca_s1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800154 "%(_tbm_build_dir_)s/bin/"
155 "tfm.hex",
156 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800157 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800158 "%(_tbm_build_dir_)s/bin/"
159 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100160 }
161}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100162
Xinyu Zhangb708f572020-09-15 11:43:46 +0800163# List of all build configs that are impossible under all circumstances
164_common_tfm_invalid_configs = [
Xinyu Zhang459a1982021-07-21 22:34:49 +0800165 # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800166 ("arm/musca_b1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
167 ("arm/musca_s1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800168 # Load range overlap on Musca for IPC Debug type: T895
Summer Qin379abb62022-10-08 16:41:54 +0800169 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
170 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300171 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800172 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800173 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800174 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
175 ("arm/musca_s1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800176 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800177 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
178 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
179 ("arm/musca_s1", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800180 ]
181
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100182# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800183# Config group for per-patch job
184config_pp_test = {"seed_params": {
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800185 # AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800186 "tfm_platform": ["arm/mps2/an519"],
187 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800188 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800189 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800190 "test_psa_api": ["OFF"],
191 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800192 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800193 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800194 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800195 },
196 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800197 "valid": [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800198 # AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800199 ("arm/mps2/an519", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800200 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
201 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800202 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800203 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
204 # AN519_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800205 ("arm/mps2/an519", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800206 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
207 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800208 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800209 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
210 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800211 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800212 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
213 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800214 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800215 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
216 # AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800217 ("arm/mps2/an521", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800218 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
219 # AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800220 ("arm/mps2/an521", "ARMCLANG_6_13", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800221 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
222 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800223 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800224 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
225 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800226 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800227 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800228 # AN521_GCC_2_Debug_BL2_MEDIUM
229 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800230 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_medium", ""),
231 # AN521_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800232 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800233 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
234 # AN521_GCC_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800235 ("arm/mps2/an521", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800236 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
237 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800238 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800239 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
240 # AN552_GNUARM_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800241 ("arm/mps3/an552", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800242 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
243 # AN552_GNUARM_1_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800244 ("arm/mps3/an552", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800245 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
246 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800247 ("arm/musca_b1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800248 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
249 # MUSCA_S1_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800250 ("arm/musca_s1", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800251 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
252 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800253 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800254 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
255 # MUSCA_S1_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800256 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800257 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
258 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800259 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800260 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
261 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Release_BL2_CC_DRIVER_PSA
Summer Qin379abb62022-10-08 16:41:54 +0800262 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800263 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Jamie Foxd7438d92022-11-21 17:42:01 +0000264 # RSS_TC_GCC_2_Release_BL2_PSOFF
265 ("arm/rss/tc", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800266 "RegS, RegNS", "OFF", "Release", True, "", "PSOFF"),
267 # stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800268 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800269 "RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
270 # stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
Summer Qin379abb62022-10-08 16:41:54 +0800271 ("stm/stm32l562e_dk", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800272 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
273 # stm32l562e_dk_GCC_3_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800274 ("stm/stm32l562e_dk", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800275 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
Arthur She4f08c152023-05-15 15:29:14 -0700276 # b_u585i_iot02a_GCC_1_RegS_RegNS_Release_BL2
277 ("stm/b_u585i_iot02a", "GCC_10_3", "1",
278 "RegS, RegNS", "OFF", "Release", True, "", ""),
279 # b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
280 ("stm/b_u585i_iot02a", "ARMCLANG_6_13", "2",
281 "RegS, RegNS", "OFF", "Release", True, "", ""),
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800282 # psoc64_GCC_2_RegS_RegNS_Release
Summer Qin379abb62022-10-08 16:41:54 +0800283 ("cypress/psoc64", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800284 "RegS, RegNS", "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800285 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800286 "invalid": _common_tfm_invalid_configs + []
287 }
288
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800289# Config group for nightly job
290config_nightly_test = {"seed_params": {
291 "tfm_platform": ["arm/mps2/an519",
292 "arm/mps2/an521",
293 "arm/mps3/an524",
294 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200295 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800296 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800297 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800298 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800299 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800300 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800301 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800302 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800303 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100304 },
305 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800306 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100307 }
308
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800309# Config group for release job
310config_release_test = {"seed_params": {
311 "tfm_platform": ["arm/mps2/an519",
312 "arm/mps2/an521",
313 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200314 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800315 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800316 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800317 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800318 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800319 "test_psa_api": ["OFF"],
320 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800321 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800322 "profile": [""],
David Vinczed78e2622022-11-24 15:04:00 +0100323 "extra_params": ["TEST_CBOR"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800324 },
325 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800326 "valid": [
327 # sanity test for GCC v11.2
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800328 # AN521_GCC_3_RegBL2_RegS_RegNS_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800329 ("arm/mps2/an521", "GCC_11_2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800330 "3", "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800331 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800332 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800333 "invalid": _common_tfm_invalid_configs + []
334 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800335
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800336# Config groups for TF-M features
337config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800338 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800339 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800340 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800341 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Huda27ae72022-03-28 15:32:19 +0800342 "test_psa_api": ["OFF"],
343 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800344 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800345 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800346 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800347 },
348 "common_params": _common_tfm_builder_cfg,
David Huda27ae72022-03-28 15:32:19 +0800349 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800350 ("arm/mps2/an519", "GCC_10_3", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800351 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800352 ]
353 }
354
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800355config_profile_m = {"seed_params": {
356 "tfm_platform": ["arm/mps2/an519",
357 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200358 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800359 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800360 "isolation_level": ["2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800361 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800362 "test_psa_api": ["OFF"],
363 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800364 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800365 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800366 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800367 },
368 "common_params": _common_tfm_builder_cfg,
369 "invalid": _common_tfm_invalid_configs + []
370 }
371
David Hu3d333762022-10-27 18:12:33 +0800372config_profile_m_arotless = {"seed_params": {
373 "tfm_platform": ["arm/musca_b1"],
374 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
375 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800376 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Hu3d333762022-10-27 18:12:33 +0800377 "test_psa_api": ["OFF"],
378 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
379 "with_bl2": [True],
380 "profile": ["profile_medium_arotless"],
381 "extra_params": ["", "PSOFF"]
382 },
383 "common_params": _common_tfm_builder_cfg,
384 "invalid": _common_tfm_invalid_configs + []
385 }
386
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800387config_profile_l = {"seed_params": {
388 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800389 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800390 "isolation_level": ["3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800391 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800392 "test_psa_api": ["OFF"],
393 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800394 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800395 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800396 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800397 },
398 "common_params": _common_tfm_builder_cfg,
399 "invalid": _common_tfm_invalid_configs + []
400 }
401
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800402config_ipc_backend = {"seed_params": {
403 "tfm_platform": ["arm/mps2/an519",
404 "arm/mps2/an521",
405 "arm/musca_s1",
406 "arm/musca_b1"],
407 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
408 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800409 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800410 "test_psa_api": ["OFF"],
411 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
412 "with_bl2": [True],
413 "profile": [""],
414 "extra_params": ["IPC"]
415 },
416 "common_params": _common_tfm_builder_cfg,
417 "invalid": _common_tfm_invalid_configs + []
418 }
419
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800420config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200421 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800422 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800423 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800424 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800425 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800426 "test_psa_api": ["OFF"],
427 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800428 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800429 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800430 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800431 },
432 "common_params": _common_tfm_builder_cfg,
433 "invalid": _common_tfm_invalid_configs + []
434 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100435
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800436config_fp = {"seed_params": {
Jianliang Shen9798e552022-11-21 12:55:42 +0800437 "tfm_platform": ["arm/mps2/an521",
438 "arm/mps3/an552"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800439 "compiler": ["GCC_10_3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800440 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800441 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800442 "test_psa_api": ["OFF"],
443 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800444 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800445 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200446 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800447 },
448 "common_params": _common_tfm_builder_cfg,
449 "invalid": _common_tfm_invalid_configs + []
450 }
Karl Zhangeffed972020-06-30 15:48:01 +0800451
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800452config_psa_api = {"seed_params": {
453 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200454 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800455 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800456 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800457 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800458 "test_regression": ["OFF"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800459 "test_psa_api": ["IPC",
460 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800461 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800462 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800463 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800464 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800465 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800466 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800467 },
468 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300469 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800470 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800471
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800472config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800473 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800474 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800475 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800476 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800477 "test_psa_api": ["OFF"],
478 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800479 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800480 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800481 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800482 },
483 "common_params": _common_tfm_builder_cfg,
484 "invalid": _common_tfm_invalid_configs + []
485 }
486
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800487config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800488 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800489 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800490 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800491 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800492 "test_psa_api": ["OFF"],
493 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800494 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800495 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800496 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800497 },
498 "common_params": _common_tfm_builder_cfg,
499 "invalid": _common_tfm_invalid_configs + []
500 }
501
Bence Balogh79fda442022-10-14 18:01:37 +0200502# Config groups for TF-M examples
503config_example_vad = {"seed_params": {
504 "tfm_platform": ["arm/mps3/an552"],
505 "compiler": ["GCC_10_3"],
506 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800507 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200508 "test_psa_api": ["OFF"],
509 "cmake_build_type": ["Release"],
510 "with_bl2": [True],
511 "profile": [""],
512 "extra_params": ["EXAMPLE_VAD"]
513 },
514 "common_params": _common_tfm_builder_cfg,
515 "invalid": _common_tfm_invalid_configs + []
516 }
517
518config_example_dma350_ns = {"seed_params": {
519 "tfm_platform": ["arm/mps3/corstone310/fvp"],
520 "compiler": ["GCC_10_3"],
521 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800522 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200523 "test_psa_api": ["OFF"],
524 "cmake_build_type": ["Release"],
525 "with_bl2": [True],
526 "profile": [""],
527 "extra_params": ["EXAMPLE_DMA350_NS"]
528 },
529 "common_params": _common_tfm_builder_cfg,
530 "invalid": _common_tfm_invalid_configs + []
531 }
532
533config_example_dma350_s = {"seed_params": {
534 "tfm_platform": ["arm/mps3/corstone310/fvp"],
535 "compiler": ["GCC_10_3"],
536 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800537 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200538 "test_psa_api": ["OFF"],
539 "cmake_build_type": ["Release"],
540 "with_bl2": [True],
541 "profile": [""],
542 "extra_params": ["EXAMPLE_DMA350_S"]
543 },
544 "common_params": _common_tfm_builder_cfg,
545 "invalid": _common_tfm_invalid_configs + []
546 }
547
548config_example_dma350_trigger = {"seed_params": {
549 "tfm_platform": ["arm/mps3/corstone310/fvp"],
550 "compiler": ["GCC_10_3"],
551 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800552 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200553 "test_psa_api": ["OFF"],
554 "cmake_build_type": ["Release"],
555 "with_bl2": [True],
556 "profile": [""],
557 "extra_params": ["EXAMPLE_DMA350_TRIGGER"]
558 },
559 "common_params": _common_tfm_builder_cfg,
560 "invalid": _common_tfm_invalid_configs + []
561 }
562
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300563config_misra = {"seed_params": {
564 "tfm_platform": ["arm/musca_b1"],
565 "compiler": ["GCC_10_3"],
566 "isolation_level": ["1"],
567 "test_regression": ["OFF"],
568 "test_psa_api": ["OFF"],
569 "cmake_build_type": ["Debug"],
570 "with_bl2": [True],
571 "profile": ["profile_small", "profile_medium_arotless", "profile_medium", "profile_large"],
572 "extra_params": ["PSOFF"]
573 },
574 "common_params": _common_tfm_builder_cfg,
575 "invalid": _common_tfm_invalid_configs + []
576 }
577
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300578config_misra_debug = {"seed_params": {
579 "tfm_platform": ["arm/musca_b1"],
580 "compiler": ["GCC_10_3"],
581 "isolation_level": ["1"],
582 "test_regression": ["OFF"],
583 "test_psa_api": ["OFF"],
584 "cmake_build_type": ["Debug"],
585 "with_bl2": [True],
586 "profile": ["profile_small"],
587 "extra_params": ["PSOFF"]
588 },
589 "common_params": _common_tfm_builder_cfg,
590 "invalid": _common_tfm_invalid_configs + []
591 }
592
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800593# Config groups for code coverage
594config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800595config_cov_profile_s["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800596config_cov_profile_s["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800597
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800598config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800599config_cov_profile_m["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800600config_cov_profile_m["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800601
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800602config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800603config_cov_profile_l["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800604config_cov_profile_l["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800605
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800606config_cov_ipc_backend = deepcopy(config_ipc_backend)
607config_cov_ipc_backend["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
608config_cov_ipc_backend["seed_params"]["compiler"] = ["GCC_10_3"]
609
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800610config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800611config_cov_nsce["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800612config_cov_nsce["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800613
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800614config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800615config_cov_mmio["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800616config_cov_mmio["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800617
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800618config_cov_fp = deepcopy(config_fp)
619config_cov_fp["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang778424e2023-02-27 11:39:57 +0800620config_cov_fp["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800621
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800622# Config groups for platforms
623config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800624 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800625 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800626 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800627 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800628 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800629 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800630 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800631 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800632 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800633 },
634 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800635 "invalid": _common_tfm_invalid_configs + []
636 }
637
638config_an521 = {"seed_params": {
639 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800640 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800641 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800642 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800643 "test_psa_api": ["OFF"],
644 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800645 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800646 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800647 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800648 },
649 "common_params": _common_tfm_builder_cfg,
650 "invalid": _common_tfm_invalid_configs + []
651 }
652
653config_an524 = {"seed_params": {
654 "tfm_platform": ["arm/mps3/an524"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800655 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800656 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800657 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800658 "test_psa_api": ["OFF"],
659 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800660 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800661 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800662 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800663 },
664 "common_params": _common_tfm_builder_cfg,
665 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800666 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000667
Xinyu Zhang38b76742021-11-11 13:57:56 +0800668config_an547 = {"seed_params": {
669 "tfm_platform": ["arm/mps3/an547"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100670 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800671 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800672 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800673 "test_psa_api": ["OFF"],
674 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800675 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800676 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800677 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800678 },
679 "common_params": _common_tfm_builder_cfg,
680 "invalid": _common_tfm_invalid_configs + []
681 }
682
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800683config_an552 = {"seed_params": {
684 "tfm_platform": ["arm/mps3/an552"],
685 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800686 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800687 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800688 "test_psa_api": ["OFF"],
689 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800690 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800691 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800692 "extra_params": [""]
693 },
694 "common_params": _common_tfm_builder_cfg,
695 "invalid": _common_tfm_invalid_configs + []
696 }
697
698config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200699 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800700 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800701 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800702 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800703 "test_psa_api": ["OFF"],
704 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800705 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800706 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800707 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800708 },
709 "common_params": _common_tfm_builder_cfg,
710 "invalid": _common_tfm_invalid_configs + []
711 }
712
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800713config_musca_s1 = {"seed_params": {
714 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800715 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800716 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800717 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800718 "test_psa_api": ["OFF"],
719 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800720 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800721 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800722 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800723 },
724 "common_params": _common_tfm_builder_cfg,
725 "invalid": _common_tfm_invalid_configs + []
726 }
727
Bence Balogh8731a092022-05-24 17:24:54 +0200728config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +0100729 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100730 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800731 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800732 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800733 "test_psa_api": ["OFF"],
734 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800735 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800736 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800737 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800738 },
739 "common_params": _common_tfm_builder_cfg,
740 "invalid": _common_tfm_invalid_configs + []
741 }
742
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100743config_rss = {"seed_params": {
Raef Coles0d405852022-10-21 10:52:50 +0100744 "tfm_platform": ["arm/rss/tc"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100745 "compiler": ["GCC_10_3"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100746 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800747 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100748 "test_psa_api": ["OFF"],
749 "cmake_build_type": ["Debug", "Release"],
750 "with_bl2": [True],
751 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800752 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100753 },
754 "common_params": _common_tfm_builder_cfg,
Jamie Fox9e2c2352023-01-13 15:11:23 +0000755 "invalid": _common_tfm_invalid_configs + [
756 # BL2 is too large for RSS in Debug builds with tests
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800757 ("arm/rss/tc", "GCC_10_3", "*", "RegBL2, RegS, RegNS", "*",
Jamie Fox9e2c2352023-01-13 15:11:23 +0000758 "Debug", True, "*", "*"),
759 ]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100760 }
761
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800762config_psoc64 = {"seed_params": {
763 "tfm_platform": ["cypress/psoc64"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800764 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800765 "isolation_level": ["1", "2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800766 "test_regression": ["RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800767 "test_psa_api": ["OFF"],
768 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800769 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800770 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800771 "extra_params": [""]
772 },
773 "common_params": _common_tfm_builder_cfg,
774 "invalid": _common_tfm_invalid_configs + []
775 }
776
777config_corstone1000 = {"seed_params": {
778 "tfm_platform": ["arm/corstone1000"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800779 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800780 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800781 "test_regression": ["RegBL2, RegS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800782 "test_psa_api": ["OFF"],
783 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800784 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800785 "profile": [""],
Xinyu Zhang4fb2b5c2023-04-25 11:55:19 +0800786 "extra_params": ["CS1K_TEST, FVP", "CS1K_TEST, FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800787 },
788 "common_params": _common_tfm_builder_cfg,
789 "invalid": _common_tfm_invalid_configs + []
790 }
791
792config_stm32l562e_dk = {"seed_params": {
793 "tfm_platform": ["stm/stm32l562e_dk"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800794 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800795 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800796 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800797 "test_psa_api": ["OFF"],
798 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800799 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800800 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800801 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
802 },
803 "common_params": _common_tfm_builder_cfg,
804 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800805 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800806 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800807 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800808 # all other tests are off when CRYPTO is ON
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800809 ("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800810 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800811 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800812 ("stm/stm32l562e_dk", "*", "*", "OFF", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800813 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800814 ]
815 }
816
817config_b_u585i_iot02a = {"seed_params": {
818 "tfm_platform": ["stm/b_u585i_iot02a"],
Arthur She026ebb62023-02-08 18:47:39 -0800819 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
820 "isolation_level": ["1", "2"],
Arthur She96c6f772023-05-09 21:32:50 -0700821 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800822 "test_psa_api": ["OFF"],
823 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800824 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800825 "profile": [""],
Arthur She026ebb62023-02-08 18:47:39 -0800826 "extra_params": [""]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800827 },
828 "common_params": _common_tfm_builder_cfg,
829 "invalid": _common_tfm_invalid_configs + []
830 }
831
832config_nucleo_l552ze_q = {"seed_params": {
833 "tfm_platform": ["stm/nucleo_l552ze_q"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800834 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800835 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800836 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800837 "test_psa_api": ["OFF"],
838 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800839 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800840 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800841 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800842 },
843 "common_params": _common_tfm_builder_cfg,
844 "invalid": _common_tfm_invalid_configs + []
845 }
846
847config_lpcxpresso55s69 = {"seed_params": {
848 "tfm_platform": ["nxp/lpcxpresso55s69"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800849 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800850 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800851 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800852 "test_psa_api": ["OFF"],
853 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800854 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800855 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800856 "extra_params": [""]
857 },
858 "common_params": _common_tfm_builder_cfg,
859 "invalid": _common_tfm_invalid_configs + []
860 }
861
Xinyu Zhang38b76742021-11-11 13:57:56 +0800862config_bl5340 = {"seed_params": {
863 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800864 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800865 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800866 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800867 "test_psa_api": ["OFF"],
868 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800869 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800870 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800871 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800872 },
873 "common_params": _common_tfm_builder_cfg,
874 "invalid": _common_tfm_invalid_configs + []
875 }
876
877config_nrf5340dk = {"seed_params": {
878 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800879 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800880 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800881 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800882 "test_psa_api": ["OFF"],
883 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800884 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800885 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800886 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800887 },
888 "common_params": _common_tfm_builder_cfg,
889 "invalid": _common_tfm_invalid_configs + []
890 }
891
892config_nrf9160dk = {"seed_params": {
893 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800894 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800895 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800896 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800897 "test_psa_api": ["OFF"],
898 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800899 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800900 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800901 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800902 },
903 "common_params": _common_tfm_builder_cfg,
904 "invalid": _common_tfm_invalid_configs + []
905 }
906
907config_m2351 = {"seed_params": {
908 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800909 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800910 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800911 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800912 "test_psa_api": ["OFF"],
913 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800914 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800915 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800916 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800917 },
918 "common_params": _common_tfm_builder_cfg,
919 "invalid": _common_tfm_invalid_configs + []
920 }
921
922config_m2354 = {"seed_params": {
923 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800924 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800925 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800926 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800927 "test_psa_api": ["OFF"],
928 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800929 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800930 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800931 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800932 },
933 "common_params": _common_tfm_builder_cfg,
934 "invalid": _common_tfm_invalid_configs + []
935 }
936
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800937# Config groups for debug
938config_debug = {"seed_params": {
939 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800940 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800941 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800942 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800943 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800944 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800945 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800946 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800947 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800948 },
949 "common_params": _common_tfm_builder_cfg,
950 "invalid": _common_tfm_invalid_configs + []
951 }
952
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800953config_debug_regr = deepcopy(config_debug)
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800954config_debug_regr["seed_params"]["test_regression"] = ["RegBL2, RegS, RegNS"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800955
956config_debug_PSA_API = {"seed_params": {
957 "tfm_platform": ["arm/mps2/an521"],
958 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800959 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800960 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800961 "test_psa_api": ["CRYPTO",
962 "INITIAL_ATTESTATION",
963 "STORAGE",
964 "IPC"],
965 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800966 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800967 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800968 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800969 },
970 "common_params": _common_tfm_builder_cfg,
971 "invalid": _common_tfm_invalid_configs + []
972 }
973
Karl Zhangaff558a2020-05-15 14:28:23 +0100974_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800975 # per-patch test groups
976 "pp_test": config_pp_test,
Antonio de Angelis8c2de822023-05-02 17:01:48 +0200977 #"pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +0800978
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800979 # nightly test groups
980 "nightly_test": config_nightly_test,
981 "nightly_profile_s": config_profile_s,
982 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +0800983 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800984 "nightly_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800985 "nightly_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800986 "nightly_cc_driver_psa": config_cc_driver_psa,
987 "nightly_fp":config_fp,
988 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800989 "nightly_nsce": config_nsce,
990 "nightly_mmio": config_mmio,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800991 "nightly_an547": config_an547,
992 "nightly_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +0200993 "nightly_corstone310": config_corstone310,
Antonio de Angelis8c2de822023-05-02 17:01:48 +0200994 #"nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100995 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800996 "nightly_psoc64": config_psoc64,
997 "nightly_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -0800998 "nightly_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800999 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001000
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001001 # release test groups
1002 "release_test": config_release_test,
1003 "release_profile_s": config_profile_s,
1004 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001005 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001006 "release_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001007 "release_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001008 "release_cc_driver_psa": config_cc_driver_psa,
1009 "release_fp": config_fp,
1010 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001011 "release_nsce": config_nsce,
1012 "release_mmio": config_mmio,
1013 "release_an547": config_an547,
1014 "release_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +02001015 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001016 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001017 "release_psoc64": config_psoc64,
1018 "release_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001019 "release_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001020 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001021
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001022 # code coverage test groups
1023 "coverage_profile_s": config_cov_profile_s,
1024 "coverage_profile_m": config_cov_profile_m,
1025 "coverage_profile_l": config_cov_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001026 "coverage_ipc_backend": config_cov_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001027 "coverage_nsce": config_cov_nsce,
1028 "coverage_mmio": config_cov_mmio,
Xinyu Zhang5f725ee2022-12-19 10:29:20 +08001029 "coverage_fp": config_cov_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +08001030
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001031 # MISRA analysis
1032 "misra": config_misra,
Paul Sokolovskya526e5d2023-06-15 09:49:13 +03001033 "misra_debug": config_misra_debug,
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001034
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001035 # platform groups
1036 "an521": config_an521,
1037 "an519": config_an519,
1038 "an524": config_an524,
1039 "an547": config_an547,
1040 "an552": config_an552,
1041 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001042 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +02001043 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001044 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001045 "cypress_psoc64": config_psoc64,
Antonio de Angelis8c2de822023-05-02 17:01:48 +02001046 #"corstone1000": config_corstone1000,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001047 "stm_stm32l562e_dk": config_stm32l562e_dk,
1048 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
1049 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
1050 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001051 "laird_bl5340": config_bl5340,
1052 "nordic_nrf5340dk": config_nrf5340dk,
1053 "nordic_nrf9160dk": config_nrf9160dk,
1054 "nuvoton_m2351": config_m2351,
1055 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001056
Bence Balogh79fda442022-10-14 18:01:37 +02001057 # config groups for tf-m-extras examples
1058 "example_vad": config_example_vad,
1059 "example_dma350_trigger": config_example_dma350_trigger,
1060 "example_dma350_ns": config_example_dma350_ns,
1061 "example_dma350_s": config_example_dma350_s,
1062
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001063 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +00001064 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +03001065 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +03001066 "debug_PSA_API": config_debug_PSA_API,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001067 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001068
1069if __name__ == '__main__':
1070 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001071
Minos Galanakisea421232019-06-20 17:11:28 +01001072 # Default behavior is to export refference config when called
1073 _dir = os.getcwd()
1074 from utils import save_json
1075 for _cname, _cfg in _builtin_configs.items():
1076 _fname = os.path.join(_dir, _cname + ".json")
1077 print("Exporting config %s" % _fname)
1078 save_json(_fname, _cfg)