blob: 0ce6c5ed8638355b6374ea850659a6d6bda6c625 [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 Zhang1f21cb22023-06-26 17:56:49 +080062 "-DQCBOR_PATH=%(codebase_root_dir)s/../qcbor " + \
63 "-DTFM_EXTRAS_REPO_PATH=%(codebase_root_dir)s/../tf-m-extras " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080064 "%(codebase_root_dir)s",
Karl Zhangaff558a2020-05-15 14:28:23 +010065
Xinyu Zhang433771e2022-04-01 16:49:17 +080066 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
67
Minos Galanakisea421232019-06-20 17:11:28 +010068 # A small subset of string substitution params is allowed in commands.
69 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
70 # _tbm_target_platform_ with the paths set when building
71
Xinyu Zhangb708f572020-09-15 11:43:46 +080072 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/bin'
Minos Galanakisea421232019-06-20 17:11:28 +010073 r'/(\w+\.(?:axf|bin|hex))$'),
74
Xinyu Zhang46b37182023-06-30 15:36:44 +080075 # CMake build commands will be executed for every build.
76 "cmake_build": "cmake --build ./ -- install",
77 # Keys will append extra commands when matching target_platform
Emekcan Aras6df7d552023-08-15 09:54:42 +010078 "post_build": {"arm/corstone1000": ("dd conv=notrunc bs=1 if=%(_tbm_build_dir_)s/bin/bl1_1.bin of=%(_tbm_build_dir_)s/bin/bl1.bin seek=0;"
79 "dd conv=notrunc bs=1 if=%(_tbm_build_dir_)s/bin/bl1_provisioning_bundle.bin of=%(_tbm_build_dir_)s/bin/bl1.bin seek=40960;"
80 "../platform/ext/target/arm/corstone1000/create-flash-image.sh %(_tbm_build_dir_)s/bin/ cs1000.bin;"),
81 "arm/musca_b1": ("srec_cat "
Mark Horvathef57baa2022-09-12 13:36:36 +020082 "%(_tbm_build_dir_)s/bin/"
83 "bl2.bin "
84 "-Binary -offset 0xA000000 "
85 "-fill 0xFF 0xA000000 0xA020000 "
86 "%(_tbm_build_dir_)s/bin/"
87 "tfm_s_ns_signed.bin "
88 "-Binary -offset 0xA020000 "
89 "-fill 0xFF 0xA020000 0xA200000 "
90 "-o %(_tbm_build_dir_)s/bin/"
Xinyu Zhang46b37182023-06-30 15:36:44 +080091 "tfm.hex -Intel"),
92 "arm/musca_s1": ("srec_cat "
Xinyu Zhangb708f572020-09-15 11:43:46 +080093 "%(_tbm_build_dir_)s/bin/"
94 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +080095 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +000096 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangb708f572020-09-15 11:43:46 +080097 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +080098 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +000099 "-Binary -offset 0xA020000 "
100 "-fill 0xFF 0xA020000 0xA200000 "
101 "-o %(_tbm_build_dir_)s/bin/"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800102 "tfm.hex -Intel"),
103 "stm/stm32l562e_dk": ("echo 'STM32L562E-DK board post process';"
Arthur She19c0e1a2021-06-02 11:06:19 -0700104 "%(_tbm_build_dir_)s/postbuild.sh;"
105 "pushd %(_tbm_build_dir_)s;"
Arthur She07c91b52021-07-15 15:03:10 -0700106 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
107 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800108 "popd"),
109 "stm/b_u585i_iot02a": ("echo 'STM32U5 board post process';"
Arthur She026ebb62023-02-08 18:47:39 -0800110 "%(_tbm_build_dir_)s/postbuild.sh;"
111 "pushd %(_tbm_build_dir_)s;"
112 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
113 "tar jcf ./bin/b_u585i_iot02a-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800114 "popd"),
115 "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 board post process\n';"
Arthur She3c0dadd2021-11-18 21:17:48 -0800116 "if [ -f \"%(_tbm_build_dir_)s/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
117 "pushd %(_tbm_build_dir_)s/../platform/ext/target/nxp/lpcxpresso55s69/scripts;"
118 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
119 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
120 "python3 ./${FLASH_FILE};"
121 "cd %(_tbm_build_dir_)s/bin;"
122 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
123 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800124 "popd"),
125 "cypress/psoc64": ("echo 'Sign binaries for Cypress PSoC64 platform';"
Arthur She87602dc2022-02-06 14:42:18 -0800126 "pushd %(_tbm_build_dir_)s/..;"
127 "sudo /usr/local/bin/cysecuretools "
128 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
129 "--target cy8ckit-064s0s2-4343w "
130 "sign-image "
131 "--hex %(_tbm_build_dir_)s/bin/tfm_s.hex "
132 "--image-type BOOT --image-id 1;"
133 "sudo /usr/local/bin/cysecuretools "
134 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
135 "--target cy8ckit-064s0s2-4343w "
136 "sign-image "
137 "--hex %(_tbm_build_dir_)s/bin/tfm_ns.hex "
138 "--image-type BOOT --image-id 16;"
139 "mv %(_tbm_build_dir_)s/bin/tfm_s.hex %(_tbm_build_dir_)s/bin/tfm_s_signed.hex;"
140 "mv %(_tbm_build_dir_)s/bin/tfm_ns.hex %(_tbm_build_dir_)s/bin/tfm_ns_signed.hex;"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800141 "popd")
Minos Galanakisea421232019-06-20 17:11:28 +0100142 },
143
144 # (Optional) If set will fail if those artefacts are missing post build
145 "required_artefacts": {"all": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800146 "%(_tbm_build_dir_)s/bin/"
147 "tfm_s.bin",
148 "%(_tbm_build_dir_)s/bin/"
149 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200150 "arm/musca_b1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800151 "%(_tbm_build_dir_)s/bin/"
152 "tfm.hex",
153 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800154 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800155 "%(_tbm_build_dir_)s/bin/"
156 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800157 "arm/musca_s1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800158 "%(_tbm_build_dir_)s/bin/"
159 "tfm.hex",
160 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800161 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800162 "%(_tbm_build_dir_)s/bin/"
163 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100164 }
165}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100166
Xinyu Zhangb708f572020-09-15 11:43:46 +0800167# List of all build configs that are impossible under all circumstances
168_common_tfm_invalid_configs = [
Xinyu Zhang459a1982021-07-21 22:34:49 +0800169 # 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 +0800170 ("arm/musca_b1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
171 ("arm/musca_s1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800172 # Load range overlap on Musca for IPC Debug type: T895
Summer Qin379abb62022-10-08 16:41:54 +0800173 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
174 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300175 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800176 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800177 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800178 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
179 ("arm/musca_s1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800180 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800181 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
182 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
183 ("arm/musca_s1", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800184 ]
185
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100186# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800187# Config group for per-patch job
188config_pp_test = {"seed_params": {
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800189 # AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800190 "tfm_platform": ["arm/mps2/an519"],
191 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800192 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800193 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800194 "test_psa_api": ["OFF"],
195 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800196 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800197 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800198 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800199 },
200 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800201 "valid": [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800202 # AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800203 ("arm/mps2/an519", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800204 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
205 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800206 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800207 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
208 # AN519_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800209 ("arm/mps2/an519", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800210 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
211 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800212 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800213 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
214 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800215 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800216 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
217 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800218 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800219 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Jianliang Shen6984bef2023-07-25 10:36:56 +0800220 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_IPC
221 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
222 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "IPC"),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800223 # AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800224 ("arm/mps2/an521", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800225 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
226 # AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800227 ("arm/mps2/an521", "ARMCLANG_6_13", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800228 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
229 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800230 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800231 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
232 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800233 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800234 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800235 # AN521_GCC_2_Debug_BL2_MEDIUM
236 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800237 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_medium", ""),
238 # AN521_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800239 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800240 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
241 # AN521_GCC_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800242 ("arm/mps2/an521", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800243 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
244 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800245 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800246 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Bence Balogh1aa8d582023-08-29 13:10:02 +0200247 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Debug_BL2
248 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800249 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Bence Balogh1aa8d582023-08-29 13:10:02 +0200250 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Release_BL2
251 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800252 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
253 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800254 ("arm/musca_b1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800255 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
256 # MUSCA_S1_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800257 ("arm/musca_s1", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800258 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
259 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800260 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800261 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
262 # MUSCA_S1_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800263 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800264 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
265 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800266 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800267 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
268 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Release_BL2_CC_DRIVER_PSA
Summer Qin379abb62022-10-08 16:41:54 +0800269 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800270 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Jamie Foxd7438d92022-11-21 17:42:01 +0000271 # RSS_TC_GCC_2_Release_BL2_PSOFF
272 ("arm/rss/tc", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800273 "RegS, RegNS", "OFF", "Release", True, "", "PSOFF"),
274 # stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800275 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800276 "RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
277 # stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
Summer Qin379abb62022-10-08 16:41:54 +0800278 ("stm/stm32l562e_dk", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800279 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
280 # stm32l562e_dk_GCC_3_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800281 ("stm/stm32l562e_dk", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800282 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
Arthur She4f08c152023-05-15 15:29:14 -0700283 # b_u585i_iot02a_GCC_1_RegS_RegNS_Release_BL2
284 ("stm/b_u585i_iot02a", "GCC_10_3", "1",
285 "RegS, RegNS", "OFF", "Release", True, "", ""),
286 # b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
287 ("stm/b_u585i_iot02a", "ARMCLANG_6_13", "2",
288 "RegS, RegNS", "OFF", "Release", True, "", ""),
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800289 # psoc64_GCC_2_RegS_RegNS_Release
Summer Qin379abb62022-10-08 16:41:54 +0800290 ("cypress/psoc64", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800291 "RegS, RegNS", "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800292 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800293 "invalid": _common_tfm_invalid_configs + []
294 }
295
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800296# Config group for nightly job
297config_nightly_test = {"seed_params": {
298 "tfm_platform": ["arm/mps2/an519",
299 "arm/mps2/an521",
300 "arm/mps3/an524",
301 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200302 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800303 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800304 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800305 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800306 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800307 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800308 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800309 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800310 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100311 },
312 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800313 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100314 }
315
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800316# Config group for release job
317config_release_test = {"seed_params": {
318 "tfm_platform": ["arm/mps2/an519",
319 "arm/mps2/an521",
320 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200321 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800322 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800323 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800324 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800325 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800326 "test_psa_api": ["OFF"],
327 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800328 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800329 "profile": [""],
David Vinczed78e2622022-11-24 15:04:00 +0100330 "extra_params": ["TEST_CBOR"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800331 },
332 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800333 "valid": [
334 # sanity test for GCC v11.2
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800335 # AN521_GCC_3_RegBL2_RegS_RegNS_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800336 ("arm/mps2/an521", "GCC_11_2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800337 "3", "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800338 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800339 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800340 "invalid": _common_tfm_invalid_configs + []
341 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800342
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800343# Config groups for TF-M features
344config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800345 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800346 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800347 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800348 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Huda27ae72022-03-28 15:32:19 +0800349 "test_psa_api": ["OFF"],
350 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800351 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800352 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800353 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800354 },
355 "common_params": _common_tfm_builder_cfg,
David Huda27ae72022-03-28 15:32:19 +0800356 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800357 ("arm/mps2/an519", "GCC_10_3", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800358 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800359 ]
360 }
361
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800362config_profile_m = {"seed_params": {
363 "tfm_platform": ["arm/mps2/an519",
364 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200365 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800366 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800367 "isolation_level": ["2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800368 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800369 "test_psa_api": ["OFF"],
370 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800371 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800372 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800373 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800374 },
375 "common_params": _common_tfm_builder_cfg,
376 "invalid": _common_tfm_invalid_configs + []
377 }
378
David Hu3d333762022-10-27 18:12:33 +0800379config_profile_m_arotless = {"seed_params": {
380 "tfm_platform": ["arm/musca_b1"],
381 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
382 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800383 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Hu3d333762022-10-27 18:12:33 +0800384 "test_psa_api": ["OFF"],
385 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
386 "with_bl2": [True],
387 "profile": ["profile_medium_arotless"],
388 "extra_params": ["", "PSOFF"]
389 },
390 "common_params": _common_tfm_builder_cfg,
391 "invalid": _common_tfm_invalid_configs + []
392 }
393
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800394config_profile_l = {"seed_params": {
395 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800396 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800397 "isolation_level": ["3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800398 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800399 "test_psa_api": ["OFF"],
400 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800401 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800402 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800403 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800404 },
405 "common_params": _common_tfm_builder_cfg,
406 "invalid": _common_tfm_invalid_configs + []
407 }
408
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800409config_ipc_backend = {"seed_params": {
410 "tfm_platform": ["arm/mps2/an519",
411 "arm/mps2/an521",
412 "arm/musca_s1",
413 "arm/musca_b1"],
414 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
415 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800416 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800417 "test_psa_api": ["OFF"],
418 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
419 "with_bl2": [True],
420 "profile": [""],
421 "extra_params": ["IPC"]
422 },
423 "common_params": _common_tfm_builder_cfg,
424 "invalid": _common_tfm_invalid_configs + []
425 }
426
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800427config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200428 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800429 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800430 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800431 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800432 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800433 "test_psa_api": ["OFF"],
434 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800435 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800436 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800437 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800438 },
439 "common_params": _common_tfm_builder_cfg,
440 "invalid": _common_tfm_invalid_configs + []
441 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100442
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800443config_fp = {"seed_params": {
Xinyu Zhange91567c2023-09-13 14:10:11 +0800444 "tfm_platform": ["arm/mps2/an521",
445 "arm/mps3/corstone300/an552",
446 "arm/mps3/corstone300/fvp"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800447 "compiler": ["GCC_10_3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800448 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800449 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800450 "test_psa_api": ["OFF"],
451 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800452 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800453 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200454 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800455 },
456 "common_params": _common_tfm_builder_cfg,
457 "invalid": _common_tfm_invalid_configs + []
458 }
Karl Zhangeffed972020-06-30 15:48:01 +0800459
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800460config_psa_api = {"seed_params": {
461 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200462 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800463 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800464 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800465 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800466 "test_regression": ["OFF"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800467 "test_psa_api": ["IPC",
468 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800469 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800470 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800471 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800472 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800473 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800474 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800475 },
476 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300477 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800478 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800479
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800480config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800481 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800482 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800483 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800484 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800485 "test_psa_api": ["OFF"],
486 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800487 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800488 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800489 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800490 },
491 "common_params": _common_tfm_builder_cfg,
492 "invalid": _common_tfm_invalid_configs + []
493 }
494
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800495config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800496 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800497 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800498 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800499 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800500 "test_psa_api": ["OFF"],
501 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800502 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800503 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800504 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800505 },
506 "common_params": _common_tfm_builder_cfg,
507 "invalid": _common_tfm_invalid_configs + []
508 }
509
Bence Balogh79fda442022-10-14 18:01:37 +0200510# Config groups for TF-M examples
511config_example_vad = {"seed_params": {
Bence Balogh1aa8d582023-08-29 13:10:02 +0200512 "tfm_platform": ["arm/mps3/corstone300/an552"],
Bence Balogh79fda442022-10-14 18:01:37 +0200513 "compiler": ["GCC_10_3"],
514 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800515 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200516 "test_psa_api": ["OFF"],
517 "cmake_build_type": ["Release"],
518 "with_bl2": [True],
519 "profile": [""],
520 "extra_params": ["EXAMPLE_VAD"]
521 },
522 "common_params": _common_tfm_builder_cfg,
523 "invalid": _common_tfm_invalid_configs + []
524 }
525
Bence Balogh852f8bd2023-08-07 14:46:54 +0200526config_example_dma350_clcd = {"seed_params": {
Bence Balogh79fda442022-10-14 18:01:37 +0200527 "tfm_platform": ["arm/mps3/corstone310/fvp"],
528 "compiler": ["GCC_10_3"],
529 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800530 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200531 "test_psa_api": ["OFF"],
532 "cmake_build_type": ["Release"],
533 "with_bl2": [True],
534 "profile": [""],
Bence Balogh852f8bd2023-08-07 14:46:54 +0200535 "extra_params": ["EXAMPLE_DMA350_CLCD"]
Bence Balogh79fda442022-10-14 18:01:37 +0200536 },
537 "common_params": _common_tfm_builder_cfg,
538 "invalid": _common_tfm_invalid_configs + []
539 }
540
541config_example_dma350_s = {"seed_params": {
542 "tfm_platform": ["arm/mps3/corstone310/fvp"],
543 "compiler": ["GCC_10_3"],
544 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800545 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200546 "test_psa_api": ["OFF"],
547 "cmake_build_type": ["Release"],
548 "with_bl2": [True],
549 "profile": [""],
550 "extra_params": ["EXAMPLE_DMA350_S"]
551 },
552 "common_params": _common_tfm_builder_cfg,
553 "invalid": _common_tfm_invalid_configs + []
554 }
555
Bence Baloghd23cbda2023-08-07 15:30:58 +0200556config_example_dma350_ns = {"seed_params": {
557 "tfm_platform": ["arm/mps3/corstone310/fvp"],
558 "compiler": ["GCC_10_3"],
559 "isolation_level": ["1"],
560 "test_regression": ["OFF"],
561 "test_psa_api": ["OFF"],
562 "cmake_build_type": ["Release"],
563 "with_bl2": [True],
564 "profile": [""],
565 "extra_params": ["EXAMPLE_DMA350_NS"]
566 },
567 "common_params": _common_tfm_builder_cfg,
568 "invalid": _common_tfm_invalid_configs + []
569 }
570
Bence Balogh79fda442022-10-14 18:01:37 +0200571config_example_dma350_trigger = {"seed_params": {
572 "tfm_platform": ["arm/mps3/corstone310/fvp"],
573 "compiler": ["GCC_10_3"],
574 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800575 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200576 "test_psa_api": ["OFF"],
577 "cmake_build_type": ["Release"],
578 "with_bl2": [True],
579 "profile": [""],
580 "extra_params": ["EXAMPLE_DMA350_TRIGGER"]
581 },
582 "common_params": _common_tfm_builder_cfg,
583 "invalid": _common_tfm_invalid_configs + []
584 }
585
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300586config_misra = {"seed_params": {
587 "tfm_platform": ["arm/musca_b1"],
588 "compiler": ["GCC_10_3"],
589 "isolation_level": ["1"],
590 "test_regression": ["OFF"],
591 "test_psa_api": ["OFF"],
592 "cmake_build_type": ["Debug"],
593 "with_bl2": [True],
Xinyu Zhange17926f2023-08-14 11:00:43 +0800594 "profile": ["profile_small", "profile_medium_arotless"],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300595 "extra_params": ["PSOFF"]
596 },
597 "common_params": _common_tfm_builder_cfg,
Xinyu Zhange17926f2023-08-14 11:00:43 +0800598 "valid": [
599 # MUSCA_B1_GCC_2_Debug_BL2_MEDIUM_PSOFF
600 ("arm/musca_b1", "GCC_10_3", "2", "OFF",
601 "OFF", "Debug", True, "profile_medium", "PSOFF"),
602 # MUSCA_B1_GCC_3_Debug_BL2_LARGE_PSOFF
603 ("arm/musca_b1", "GCC_10_3", "3", "OFF",
604 "OFF", "Debug", True, "profile_large", "PSOFF"),
605 ],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300606 "invalid": _common_tfm_invalid_configs + []
607 }
608
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300609config_misra_debug = {"seed_params": {
610 "tfm_platform": ["arm/musca_b1"],
611 "compiler": ["GCC_10_3"],
612 "isolation_level": ["1"],
613 "test_regression": ["OFF"],
614 "test_psa_api": ["OFF"],
615 "cmake_build_type": ["Debug"],
616 "with_bl2": [True],
617 "profile": ["profile_small"],
618 "extra_params": ["PSOFF"]
619 },
620 "common_params": _common_tfm_builder_cfg,
621 "invalid": _common_tfm_invalid_configs + []
622 }
623
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800624# Config groups for code coverage
625config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800626config_cov_profile_s["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800627config_cov_profile_s["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800628
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800629config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800630config_cov_profile_m["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800631config_cov_profile_m["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800632
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800633config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800634config_cov_profile_l["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800635config_cov_profile_l["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800636
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800637config_cov_ipc_backend = deepcopy(config_ipc_backend)
638config_cov_ipc_backend["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
639config_cov_ipc_backend["seed_params"]["compiler"] = ["GCC_10_3"]
640
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800641config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800642config_cov_nsce["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800643config_cov_nsce["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800644
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800645config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800646config_cov_mmio["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800647config_cov_mmio["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800648
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800649config_cov_fp = deepcopy(config_fp)
650config_cov_fp["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang778424e2023-02-27 11:39:57 +0800651config_cov_fp["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800652
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800653# Config groups for platforms
654config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800655 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800656 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800657 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800658 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800659 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800660 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800661 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800662 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800663 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800664 },
665 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800666 "invalid": _common_tfm_invalid_configs + []
667 }
668
669config_an521 = {"seed_params": {
670 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800671 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800672 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800673 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800674 "test_psa_api": ["OFF"],
675 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800676 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800677 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800678 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800679 },
680 "common_params": _common_tfm_builder_cfg,
681 "invalid": _common_tfm_invalid_configs + []
682 }
683
684config_an524 = {"seed_params": {
685 "tfm_platform": ["arm/mps3/an524"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800686 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800687 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800688 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800689 "test_psa_api": ["OFF"],
690 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800691 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800692 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800693 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800694 },
695 "common_params": _common_tfm_builder_cfg,
696 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800697 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000698
Bence Balogh1aa8d582023-08-29 13:10:02 +0200699config_cs300_an547 = {"seed_params": {
700 "tfm_platform": ["arm/mps3/corstone300/an547"],
701 "compiler": ["GCC_10_3"],
702 "isolation_level": ["1"],
703 "test_regression": ["OFF"],
704 "test_psa_api": ["OFF"],
705 "cmake_build_type": ["Debug"],
706 "with_bl2": [True],
707 "profile": [""],
708 "extra_params": [""]
709 },
710 "common_params": _common_tfm_builder_cfg,
711 "invalid": _common_tfm_invalid_configs + []
712 }
Xinyu Zhang38b76742021-11-11 13:57:56 +0800713
Bence Balogh1aa8d582023-08-29 13:10:02 +0200714config_cs300_an552 = {"seed_params": {
715 "tfm_platform": ["arm/mps3/corstone300/an552"],
716 "compiler": ["GCC_10_3"],
717 "isolation_level": ["1", "2"],
718 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
719 "test_psa_api": ["OFF"],
720 "cmake_build_type": ["Debug", "Release"],
721 "with_bl2": [True],
722 "profile": [""],
723 "extra_params": [""]
724 },
725 "common_params": _common_tfm_builder_cfg,
726 "invalid": _common_tfm_invalid_configs + []
727 }
728
729config_cs300_fvp = {"seed_params": {
730 "tfm_platform": ["arm/mps3/corstone300/fvp"],
731 "compiler": ["GCC_10_3"],
732 "isolation_level": ["1", "2"],
733 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
734 "test_psa_api": ["OFF"],
735 "cmake_build_type": ["Debug", "Release"],
736 "with_bl2": [True],
737 "profile": [""],
738 "extra_params": [""]
739 },
740 "common_params": _common_tfm_builder_cfg,
741 "invalid": _common_tfm_invalid_configs + []
742 }
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800743
744config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200745 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800746 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800747 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800748 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800749 "test_psa_api": ["OFF"],
750 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800751 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800752 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800753 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800754 },
755 "common_params": _common_tfm_builder_cfg,
756 "invalid": _common_tfm_invalid_configs + []
757 }
758
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800759config_musca_s1 = {"seed_params": {
760 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800761 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800762 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800763 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800764 "test_psa_api": ["OFF"],
765 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800766 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800767 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800768 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800769 },
770 "common_params": _common_tfm_builder_cfg,
771 "invalid": _common_tfm_invalid_configs + []
772 }
773
Bence Balogh8731a092022-05-24 17:24:54 +0200774config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +0100775 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100776 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800777 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800778 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800779 "test_psa_api": ["OFF"],
780 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800781 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800782 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800783 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800784 },
785 "common_params": _common_tfm_builder_cfg,
786 "invalid": _common_tfm_invalid_configs + []
787 }
788
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100789config_rss = {"seed_params": {
Raef Coles0d405852022-10-21 10:52:50 +0100790 "tfm_platform": ["arm/rss/tc"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100791 "compiler": ["GCC_10_3"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100792 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800793 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100794 "test_psa_api": ["OFF"],
795 "cmake_build_type": ["Debug", "Release"],
796 "with_bl2": [True],
797 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800798 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100799 },
800 "common_params": _common_tfm_builder_cfg,
Jamie Fox9e2c2352023-01-13 15:11:23 +0000801 "invalid": _common_tfm_invalid_configs + [
802 # BL2 is too large for RSS in Debug builds with tests
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800803 ("arm/rss/tc", "GCC_10_3", "*", "RegBL2, RegS, RegNS", "*",
Jamie Fox9e2c2352023-01-13 15:11:23 +0000804 "Debug", True, "*", "*"),
805 ]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100806 }
807
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800808config_psoc64 = {"seed_params": {
809 "tfm_platform": ["cypress/psoc64"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800810 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800811 "isolation_level": ["1", "2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800812 "test_regression": ["RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800813 "test_psa_api": ["OFF"],
814 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800815 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800816 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800817 "extra_params": [""]
818 },
819 "common_params": _common_tfm_builder_cfg,
820 "invalid": _common_tfm_invalid_configs + []
821 }
822
823config_corstone1000 = {"seed_params": {
824 "tfm_platform": ["arm/corstone1000"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800825 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800826 "isolation_level": ["1"],
Emekcan Arasf8b39802023-04-24 10:15:22 +0100827 "test_regression": ["RegS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800828 "test_psa_api": ["OFF"],
829 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800830 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800831 "profile": [""],
Xinyu Zhang4fb2b5c2023-04-25 11:55:19 +0800832 "extra_params": ["CS1K_TEST, FVP", "CS1K_TEST, FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800833 },
834 "common_params": _common_tfm_builder_cfg,
835 "invalid": _common_tfm_invalid_configs + []
836 }
837
838config_stm32l562e_dk = {"seed_params": {
839 "tfm_platform": ["stm/stm32l562e_dk"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800840 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800841 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800842 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800843 "test_psa_api": ["OFF"],
844 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800845 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800846 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800847 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
848 },
849 "common_params": _common_tfm_builder_cfg,
850 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800851 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800852 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800853 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800854 # all other tests are off when CRYPTO is ON
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800855 ("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800856 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800857 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800858 ("stm/stm32l562e_dk", "*", "*", "OFF", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800859 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800860 ]
861 }
862
863config_b_u585i_iot02a = {"seed_params": {
864 "tfm_platform": ["stm/b_u585i_iot02a"],
Arthur She026ebb62023-02-08 18:47:39 -0800865 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
866 "isolation_level": ["1", "2"],
Arthur She96c6f772023-05-09 21:32:50 -0700867 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800868 "test_psa_api": ["OFF"],
869 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800870 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800871 "profile": [""],
Arthur She026ebb62023-02-08 18:47:39 -0800872 "extra_params": [""]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800873 },
874 "common_params": _common_tfm_builder_cfg,
875 "invalid": _common_tfm_invalid_configs + []
876 }
877
878config_nucleo_l552ze_q = {"seed_params": {
879 "tfm_platform": ["stm/nucleo_l552ze_q"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800880 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800881 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800882 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800883 "test_psa_api": ["OFF"],
884 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800885 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800886 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800887 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800888 },
889 "common_params": _common_tfm_builder_cfg,
890 "invalid": _common_tfm_invalid_configs + []
891 }
892
893config_lpcxpresso55s69 = {"seed_params": {
894 "tfm_platform": ["nxp/lpcxpresso55s69"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800895 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800896 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800897 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800898 "test_psa_api": ["OFF"],
899 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800900 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800901 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800902 "extra_params": [""]
903 },
904 "common_params": _common_tfm_builder_cfg,
905 "invalid": _common_tfm_invalid_configs + []
906 }
907
Xinyu Zhang38b76742021-11-11 13:57:56 +0800908config_bl5340 = {"seed_params": {
909 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800910 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800911 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800912 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800913 "test_psa_api": ["OFF"],
914 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800915 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800916 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800917 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800918 },
919 "common_params": _common_tfm_builder_cfg,
920 "invalid": _common_tfm_invalid_configs + []
921 }
922
923config_nrf5340dk = {"seed_params": {
924 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800925 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800926 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800927 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800928 "test_psa_api": ["OFF"],
929 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800930 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800931 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800932 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800933 },
934 "common_params": _common_tfm_builder_cfg,
935 "invalid": _common_tfm_invalid_configs + []
936 }
937
938config_nrf9160dk = {"seed_params": {
939 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
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"],
944 "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 Zhangfb80b5d2022-07-26 15:42:26 +0800947 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800948 },
949 "common_params": _common_tfm_builder_cfg,
950 "invalid": _common_tfm_invalid_configs + []
951 }
952
953config_m2351 = {"seed_params": {
954 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800955 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800956 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800957 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800958 "test_psa_api": ["OFF"],
959 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800960 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800961 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800962 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800963 },
964 "common_params": _common_tfm_builder_cfg,
965 "invalid": _common_tfm_invalid_configs + []
966 }
967
968config_m2354 = {"seed_params": {
969 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800970 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800971 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800972 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800973 "test_psa_api": ["OFF"],
974 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800975 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800976 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800977 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800978 },
979 "common_params": _common_tfm_builder_cfg,
980 "invalid": _common_tfm_invalid_configs + []
981 }
982
Jianliang Shen5492f752023-07-27 15:59:01 +0800983config_prof = {"seed_params": {
984 "tfm_platform": ["arm/mps2/an521"],
985 "compiler": ["GCC_10_3"],
986 "isolation_level": ["1"],
987 "test_regression": ["OFF"],
988 "test_psa_api": ["OFF"],
989 "cmake_build_type": ["Release"],
990 "with_bl2": [True],
991 "profile": [""],
992 "extra_params": ["PROF"]
993 },
994 "common_params": _common_tfm_builder_cfg,
995 "valid": [
996 # AN521_GNUARM_1_Release_BL2_IPC_PROF
997 ("arm/mps2/an521", "GCC_10_3", "1",
998 "OFF", "OFF", "Release", True, "", "IPC, PROF"),
999 # AN521_GNUARM_2_Release_BL2_PROF
1000 ("arm/mps2/an521", "GCC_10_3", "2",
1001 "OFF", "OFF", "Release", True, "", "PROF"),
1002 # AN521_GNUARM_3_Release_BL2_PROF
1003 ("arm/mps2/an521", "GCC_10_3", "3",
1004 "OFF", "OFF", "Release", True, "", "PROF"),
1005 ],
1006 "invalid": _common_tfm_invalid_configs + []
1007 }
1008
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001009# Config groups for debug
1010config_debug = {"seed_params": {
1011 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +08001012 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001013 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001014 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001015 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001016 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001017 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001018 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001019 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001020 },
1021 "common_params": _common_tfm_builder_cfg,
1022 "invalid": _common_tfm_invalid_configs + []
1023 }
1024
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001025config_debug_regr = deepcopy(config_debug)
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001026config_debug_regr["seed_params"]["test_regression"] = ["RegBL2, RegS, RegNS"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001027
1028config_debug_PSA_API = {"seed_params": {
1029 "tfm_platform": ["arm/mps2/an521"],
1030 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001031 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001032 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001033 "test_psa_api": ["CRYPTO",
1034 "INITIAL_ATTESTATION",
1035 "STORAGE",
1036 "IPC"],
1037 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001038 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001039 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001040 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001041 },
1042 "common_params": _common_tfm_builder_cfg,
1043 "invalid": _common_tfm_invalid_configs + []
1044 }
1045
Karl Zhangaff558a2020-05-15 14:28:23 +01001046_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001047 # per-patch test groups
1048 "pp_test": config_pp_test,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001049 "pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +08001050
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001051 # nightly test groups
1052 "nightly_test": config_nightly_test,
1053 "nightly_profile_s": config_profile_s,
1054 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001055 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001056 "nightly_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001057 "nightly_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001058 "nightly_cc_driver_psa": config_cc_driver_psa,
1059 "nightly_fp":config_fp,
1060 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +08001061 "nightly_nsce": config_nsce,
1062 "nightly_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001063 "nightly_cs300_an547": config_cs300_an547,
1064 "nightly_cs300_an552": config_cs300_an552,
1065 "nightly_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001066 "nightly_corstone310": config_corstone310,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001067 "nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001068 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001069 "nightly_psoc64": config_psoc64,
1070 "nightly_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001071 "nightly_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001072 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001073
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001074 # release test groups
1075 "release_test": config_release_test,
1076 "release_profile_s": config_profile_s,
1077 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001078 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001079 "release_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001080 "release_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001081 "release_cc_driver_psa": config_cc_driver_psa,
1082 "release_fp": config_fp,
1083 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001084 "release_nsce": config_nsce,
1085 "release_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001086 "release_cs300_an547": config_cs300_an547,
1087 "release_cs300_an552": config_cs300_an552,
1088 "release_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001089 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001090 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001091 "release_psoc64": config_psoc64,
1092 "release_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001093 "release_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001094 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001095
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001096 # code coverage test groups
1097 "coverage_profile_s": config_cov_profile_s,
1098 "coverage_profile_m": config_cov_profile_m,
1099 "coverage_profile_l": config_cov_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001100 "coverage_ipc_backend": config_cov_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001101 "coverage_nsce": config_cov_nsce,
1102 "coverage_mmio": config_cov_mmio,
Xinyu Zhang5f725ee2022-12-19 10:29:20 +08001103 "coverage_fp": config_cov_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +08001104
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001105 # MISRA analysis
1106 "misra": config_misra,
Paul Sokolovskya526e5d2023-06-15 09:49:13 +03001107 "misra_debug": config_misra_debug,
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001108
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001109 # platform groups
1110 "an521": config_an521,
1111 "an519": config_an519,
1112 "an524": config_an524,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001113 "cs300_an547": config_cs300_an547,
1114 "cs300_an552": config_cs300_an552,
1115 "cs300_fvp": config_cs300_fvp,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001116 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001117 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +02001118 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001119 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001120 "cypress_psoc64": config_psoc64,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001121 "corstone1000": config_corstone1000,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001122 "stm_stm32l562e_dk": config_stm32l562e_dk,
1123 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
1124 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
1125 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001126 "laird_bl5340": config_bl5340,
1127 "nordic_nrf5340dk": config_nrf5340dk,
1128 "nordic_nrf9160dk": config_nrf9160dk,
1129 "nuvoton_m2351": config_m2351,
1130 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001131
Bence Balogh79fda442022-10-14 18:01:37 +02001132 # config groups for tf-m-extras examples
1133 "example_vad": config_example_vad,
1134 "example_dma350_trigger": config_example_dma350_trigger,
Bence Balogh852f8bd2023-08-07 14:46:54 +02001135 "example_dma350_clcd": config_example_dma350_clcd,
Bence Balogh79fda442022-10-14 18:01:37 +02001136 "example_dma350_s": config_example_dma350_s,
Bence Baloghd23cbda2023-08-07 15:30:58 +02001137 "example_dma350_ns": config_example_dma350_ns,
Bence Balogh79fda442022-10-14 18:01:37 +02001138
Jianliang Shen5492f752023-07-27 15:59:01 +08001139 # profiling
1140 "profiling": config_prof,
1141
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001142 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +00001143 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +03001144 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +03001145 "debug_PSA_API": config_debug_PSA_API,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001146 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001147
1148if __name__ == '__main__':
1149 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001150
Minos Galanakisea421232019-06-20 17:11:28 +01001151 # Default behavior is to export refference config when called
1152 _dir = os.getcwd()
1153 from utils import save_json
1154 for _cname, _cfg in _builtin_configs.items():
1155 _fname = os.path.join(_dir, _cname + ".json")
1156 print("Exporting config %s" % _fname)
1157 save_json(_fname, _cfg)