blob: 07dda1fc5c1eaca3bf87e6a16b37a26d567a8b03 [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/*
Raef Colesaac84bc2025-01-09 14:20:12 +000011 * SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
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 Zhanga88a2eb2023-08-15 17:43:51 +080048 "spe_config_template": "cmake -G Ninja " + \
Jianliang Shen7905e5d2023-11-07 10:40:47 +080049 "-S %(spe_root_dir)s " + \
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080050 "-B %(ci_build_root_dir)s/spe " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080051 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang85588522023-10-31 13:58:04 +080052 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)s/%(s_compiler)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080053 "-DTFM_ISOLATION_LEVEL=%(isolation_level)s " + \
Xinyu Zhangb18ae742023-04-25 14:33:27 +080054 "%(test_regression)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080055 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080056 "-DTEST_PSA_API=%(test_psa_api)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080057 "-DBL2=%(with_bl2)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080058 "-DTFM_PROFILE=%(profile)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080059 "%(extra_params)s " + \
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080060 "-DCONFIG_TFM_SOURCE_PATH=%(codebase_root_dir)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080061 "-DMBEDCRYPTO_PATH=%(codebase_root_dir)s/../mbedtls " + \
62 "-DPSA_ARCH_TESTS_PATH=%(codebase_root_dir)s/../psa-arch-tests " + \
63 "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
Xinyu Zhang1f21cb22023-06-26 17:56:49 +080064 "-DQCBOR_PATH=%(codebase_root_dir)s/../qcbor " + \
David Vinczefaa61ff2025-01-09 16:02:06 +000065 "-DT_COSE_PATH=%(codebase_root_dir)s/../t_cose " + \
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080066 "-DTFM_EXTRAS_REPO_PATH=%(codebase_root_dir)s/../tf-m-extras ",
67
68 "nspe_config_template": "cmake -G Ninja " + \
Jianliang Shen7905e5d2023-11-07 10:40:47 +080069 "-S %(nspe_root_dir)s " + \
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080070 "-B %(ci_build_root_dir)s/nspe " + \
71 "-DCONFIG_SPE_PATH=%(ci_build_root_dir)s/spe/api_ns " + \
Xinyu Zhang85588522023-10-31 13:58:04 +080072 "-DTFM_TOOLCHAIN_FILE=%(ci_build_root_dir)s/spe/api_ns/cmake/%(ns_compiler)s " + \
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080073 "%(extra_params)s " + \
David Vinczefaa61ff2025-01-09 16:02:06 +000074 "-DQCBOR_PATH=%(codebase_root_dir)s/../qcbor " + \
75 "-DT_COSE_PATH=%(codebase_root_dir)s/../t_cose ",
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080076
77 # CMake build commands will be executed for every build.
78 "spe_cmake_build": "cmake --build %(ci_build_root_dir)s/spe -- install",
79 "nspe_cmake_build": "cmake --build %(ci_build_root_dir)s/nspe --",
Karl Zhangaff558a2020-05-15 14:28:23 +010080
Xinyu Zhang433771e2022-04-01 16:49:17 +080081 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
82
Minos Galanakisea421232019-06-20 17:11:28 +010083 # A small subset of string substitution params is allowed in commands.
84 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
85 # _tbm_target_platform_ with the paths set when building
86
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080087 "artifact_capture_rex": (r'%(ci_build_root_dir)s/nspe'
Minos Galanakisea421232019-06-20 17:11:28 +010088 r'/(\w+\.(?:axf|bin|hex))$'),
89
Xinyu Zhang46b37182023-06-30 15:36:44 +080090 # Keys will append extra commands when matching target_platform
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080091 "post_build": {"arm/corstone1000": ("dd conv=notrunc bs=1 if=%(ci_build_root_dir)s/spe/bin/bl1_1.bin of=%(ci_build_root_dir)s/spe/bin/bl1.bin seek=0;"
Bence Baloghb0580a62025-03-10 15:15:42 +010092 "dd conv=notrunc bs=1 if=%(ci_build_root_dir)s/spe/bin/bl1_provisioning_bundle.bin of=%(ci_build_root_dir)s/spe/bin/bl1.bin seek=51200;"
Xinyu Zhang09acfbf2023-10-30 18:30:48 +080093 "%(codebase_root_dir)s/platform/ext/target/arm/corstone1000/create-flash-image.sh %(ci_build_root_dir)s/spe/bin/ cs1000.bin;"),
Matthew Dalzell59ea18e2024-06-06 17:00:52 +010094 "arm/musca_b1": ("if [ -d \"%(ci_build_root_dir)s/nspe\" ]; then "
Matthew Dalzell4fd9e502024-04-19 11:04:26 +010095 "srec_cat "
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +080096 "%(ci_build_root_dir)s/spe/bin/"
97 "bl2.bin "
98 "-Binary -offset 0xA000000 "
99 "-fill 0xFF 0xA000000 0xA020000 "
100 "%(ci_build_root_dir)s/nspe/"
101 "tfm_s_ns_signed.bin "
102 "-Binary -offset 0xA020000 "
103 "-fill 0xFF 0xA020000 0xA200000 "
104 "-o %(ci_build_root_dir)s/"
Matthew Dalzell4fd9e502024-04-19 11:04:26 +0100105 "spe/bin/tfm.hex -Intel;"
Matthew Dalzell4fd9e502024-04-19 11:04:26 +0100106 "fi;"),
Jamie Fox82a91d02024-09-27 14:54:14 +0100107 "arm/rse/tc/tc3": ("if [ -f \"%(ci_build_root_dir)s/spe/bin/rse_bl1_tests.bin\" ]; then "
Raef Colesf9a20742024-06-06 10:47:49 +0100108 "srec_cat "
109 "%(ci_build_root_dir)s/spe/bin/bl1_1.bin -Binary -offset 0x0 "
110 "%(ci_build_root_dir)s/spe/bin/rse_bl1_tests.bin -Binary -offset 0x10000 "
111 "%(ci_build_root_dir)s/spe/bin/rom_dma_ics.bin -Binary -offset 0x1F000 "
112 "-o %(ci_build_root_dir)s/spe/bin/rom.bin -Binary;"
113 "else "
114 "srec_cat "
Jamie Fox9283cbc2024-04-22 13:40:01 +0100115 "%(ci_build_root_dir)s/spe/bin/bl1_1.bin -Binary -offset 0x0 "
116 "%(ci_build_root_dir)s/spe/bin/rom_dma_ics.bin -Binary -offset 0x1F000 "
117 "-o %(ci_build_root_dir)s/spe/bin/rom.bin -Binary;"
Raef Colesf9a20742024-06-06 10:47:49 +0100118 "fi;"
Jamie Fox82a91d02024-09-27 14:54:14 +0100119 "curl --fail --no-progress-meter --connect-timeout 10 --retry 6 -LS -o fiptool https://downloads.trustedfirmware.org/tf-m/rse/tc/tc3/fiptool;"
Jamie Fox9283cbc2024-04-22 13:40:01 +0100120 "chmod 755 fiptool;"
Jamie Fox82a91d02024-09-27 14:54:14 +0100121 "curl --fail --no-progress-meter --connect-timeout 10 --retry 6 -LS -o fip.bin https://downloads.trustedfirmware.org/tf-m/rse/tc/tc3/fip.bin;"
Jamie Fox9283cbc2024-04-22 13:40:01 +0100122 "./fiptool update "
Jamie Fox82a91d02024-09-27 14:54:14 +0100123 "--align 8192 --rse-bl2 %(ci_build_root_dir)s/spe/bin/bl2_signed.bin "
124 "--align 8192 --rse-s %(ci_build_root_dir)s/spe/bin/tfm_s_encrypted.bin "
125 "--align 8192 --rse-ns %(ci_build_root_dir)s/nspe/bin/tfm_ns_encrypted.bin "
126 "--align 8192 --rse-sic-tables-s %(ci_build_root_dir)s/spe/bin/tfm_s_sic_tables_signed.bin "
127 "--align 8192 --rse-sic-tables-ns %(ci_build_root_dir)s/nspe/bin/tfm_ns_sic_tables_signed.bin "
Jamie Fox9283cbc2024-04-22 13:40:01 +0100128 "--out %(ci_build_root_dir)s/spe/bin/host_flash.bin "
129 "fip.bin"),
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000130 "arm/rse/tc/tc4": ("if [ -f \"%(ci_build_root_dir)s/spe/bin/rse_bl1_tests.bin\" ]; then "
131 "srec_cat "
132 "%(ci_build_root_dir)s/spe/bin/bl1_1.bin -Binary -offset 0x0 "
Jackson Cooper-Driverfdb1e5a2025-05-14 10:30:48 +0100133 "%(ci_build_root_dir)s/spe/bin/rse_bl1_tests.bin -Binary -offset 0x18000 "
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000134 "%(ci_build_root_dir)s/spe/bin/rom_dma_ics.bin -Binary -offset 0x1F000 "
135 "-o %(ci_build_root_dir)s/spe/bin/rom.bin -Binary;"
136 "else "
137 "srec_cat "
138 "%(ci_build_root_dir)s/spe/bin/bl1_1.bin -Binary -offset 0x0 "
139 "%(ci_build_root_dir)s/spe/bin/rom_dma_ics.bin -Binary -offset 0x1F000 "
140 "-o %(ci_build_root_dir)s/spe/bin/rom.bin -Binary;"
141 "fi;"
142 # fiptool in tc3 directory also compatible with tc4 fip.bin
143 "curl --fail --no-progress-meter --connect-timeout 10 --retry 6 -LS -o fiptool https://downloads.trustedfirmware.org/tf-m/rse/tc/tc3/fiptool;"
144 "chmod 755 fiptool;"
145 "curl --fail --no-progress-meter --connect-timeout 10 --retry 6 -LS -o fip.bin https://downloads.trustedfirmware.org/tf-m/rse/tc/tc4/4806a3a08/fip.bin;"
146 "./fiptool update "
147 "--align 8192 --rse-bl2 %(ci_build_root_dir)s/spe/bin/bl2_signed.bin "
148 "--align 8192 --rse-s %(ci_build_root_dir)s/spe/bin/tfm_s_encrypted.bin "
149 "--align 8192 --rse-ns %(ci_build_root_dir)s/nspe/bin/tfm_ns_encrypted.bin "
150 "--align 8192 --rse-sic-tables-s %(ci_build_root_dir)s/spe/bin/tfm_s_sic_tables_signed.bin "
151 "--align 8192 --rse-sic-tables-ns %(ci_build_root_dir)s/nspe/bin/tfm_ns_sic_tables_signed.bin "
152 "--out %(ci_build_root_dir)s/spe/bin/host_flash.bin "
153 "fip.bin"),
Xinyu Zhang46b37182023-06-30 15:36:44 +0800154 "stm/stm32l562e_dk": ("echo 'STM32L562E-DK board post process';"
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800155 "%(ci_build_root_dir)s/spe/api_ns/postbuild.sh;"
156 "pushd %(ci_build_root_dir)s/spe/api_ns;"
157 "mkdir -p image_signing/scripts ;"
158 "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns_signed.bin image_signing/scripts ;"
159 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh "
160 "bin/bl2.bin "
161 "bin/tfm_s_signed.bin "
162 "image_signing/scripts/tfm_ns_signed.bin ;"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800163 "popd"),
164 "stm/b_u585i_iot02a": ("echo 'STM32U5 board post process';"
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800165 "%(ci_build_root_dir)s/spe/api_ns/postbuild.sh;"
166 "pushd %(ci_build_root_dir)s/spe/api_ns;"
167 "mkdir -p image_signing/scripts ;"
168 "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns_signed.bin image_signing/scripts ;"
169 "tar jcf ./bin/b_u585i_iot02a-tfm.tar.bz2 regression.sh TFM_UPDATE.sh "
170 "bin/bl2.bin "
171 "bin/tfm_s_signed.bin "
172 "image_signing/scripts/tfm_ns_signed.bin ;"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800173 "popd"),
Anton Komlev4164ab62024-02-23 10:59:56 +0100174 "stm/stm32h573i_dk": ("echo 'STM32H573I-DK board post process';"
175 "%(ci_build_root_dir)s/spe/api_ns/postbuild.sh;"
176 "pushd %(ci_build_root_dir)s/spe/api_ns;"
177 "mkdir -p image_signing/scripts ;"
178 "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns_signed.bin image_signing/scripts ;"
179 "tar jcf ./bin/stm32h573i_dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh "
180 "bin/bl2.bin "
181 "bin/tfm_s_signed.bin "
182 "image_signing/scripts/tfm_ns_signed.bin ;"
183 "popd"),
Matthew Dalzell0bdc0b22024-04-17 18:13:31 +0100184 "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 bo.ard post process\n';"
185 "mkdir -p %(codebase_root_dir)s/build/bin ;"
186 # Workaround for flash_JLink.py
187 "cp %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(codebase_root_dir)s/build/bin ;"
188 "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex %(codebase_root_dir)s/build/bin ;"
189 "cd %(codebase_root_dir)s/build/bin; "
190 "rm -f flash.jlink; "
191 "if [ -f \"%(ci_build_root_dir)s/spe/bin/bl2.hex\" ]; then "
192 "echo r >> flash.jlink; "
193 "echo erase >> flash.jlink; "
194 "echo loadfile bl2.hex >> flash.jlink; "
195 "echo loadfile tfm_s_ns_signed.bin -0x8000 >> flash.jlink; "
196 "echo r >> flash.jlink; "
197 "echo go >> flash.jlink; "
198 "echo exit >> flash.jlink; "
199 "else "
200 "echo r >> flash.jlink; "
201 "echo erase >> flash.jlink; "
202 "echo loadfile tfm_s.hex >> flash.jlink; "
203 "echo loadfile tfm_ns.hex >> flash.jlink; "
204 "echo r >> flash.jlink; "
205 "echo go >> flash.jlink; "
206 "echo exit >> flash.jlink; "
207 "fi;"
208 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
209 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
210 "mv lpcxpresso55s69-tfm.tar.bz2 %(ci_build_root_dir)s/nspe/bin ;"
211 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"),
Xinyu Zhang46b37182023-06-30 15:36:44 +0800212 "cypress/psoc64": ("echo 'Sign binaries for Cypress PSoC64 platform';"
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800213 "pushd %(codebase_root_dir)s/;"
Arthur She87602dc2022-02-06 14:42:18 -0800214 "sudo /usr/local/bin/cysecuretools "
215 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
216 "--target cy8ckit-064s0s2-4343w "
217 "sign-image "
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800218 "--hex %(ci_build_root_dir)s/spe/bin/tfm_s.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800219 "--image-type BOOT --image-id 1;"
220 "sudo /usr/local/bin/cysecuretools "
221 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
222 "--target cy8ckit-064s0s2-4343w "
223 "sign-image "
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800224 "--hex %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800225 "--image-type BOOT --image-id 16;"
Xinyu Zhanga88a2eb2023-08-15 17:43:51 +0800226 "mv %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(ci_build_root_dir)s/spe/bin/tfm_s_signed.hex;"
227 "mv %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex %(ci_build_root_dir)s/nspe/bin/tfm_ns_signed.hex;"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800228 "popd")
Minos Galanakisea421232019-06-20 17:11:28 +0100229 },
230
231 # (Optional) If set will fail if those artefacts are missing post build
232 "required_artefacts": {"all": [
Antonio de Angelis9a3bd142025-06-27 21:37:31 +0100233 "%(ci_build_root_dir)s/spe/bin/"
234 "tfm_s.bin",
235 "%(ci_build_root_dir)s/nspe/"
236 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200237 "arm/musca_b1": [
Antonio de Angelis9a3bd142025-06-27 21:37:31 +0100238 "%(ci_build_root_dir)s/tfm.hex",
239 "%(ci_build_root_dir)s/spe/bin/"
240 "bl2.bin",
241 "%(ci_build_root_dir)s/spe/bin/"
242 "tfm_sign.bin"],
Jamie Fox82a91d02024-09-27 14:54:14 +0100243 "arm/rse/tc/tc3": [
Antonio de Angelis9a3bd142025-06-27 21:37:31 +0100244 "%(ci_build_root_dir)s/spe/bin/rom.bin",
245 "%(ci_build_root_dir)s/spe/bin/provisioning/combined_provisioning_message.bin",
246 "%(ci_build_root_dir)s/spe/bin/host_flash.bin"],
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000247 "arm/rse/tc/tc4": [
Antonio de Angelis9a3bd142025-06-27 21:37:31 +0100248 "%(ci_build_root_dir)s/spe/bin/rom.bin",
249 "%(ci_build_root_dir)s/spe/bin/provisioning/combined_provisioning_message.bin",
250 "%(ci_build_root_dir)s/spe/bin/host_flash.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100251 }
252}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100253
Xinyu Zhangb708f572020-09-15 11:43:46 +0800254# List of all build configs that are impossible under all circumstances
255_common_tfm_invalid_configs = [
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100256 # LR_CODE size exceeds limit on MUSCA_B1 with regression tests in Debug mode built with ARMCLANG
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300257 ("arm/musca_b1", "ARMCLANG_6_21", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800258 # Load range overlap on Musca for IPC Debug type: T895
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300259 ("arm/musca_b1", "ARMCLANG_6_21", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300260 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800261 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800262 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800263 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800264 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800265 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
266 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800267 ]
268
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100269# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800270# Config group for per-patch job
271config_pp_test = {"seed_params": {
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800272 # AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800273 "tfm_platform": ["arm/mps2/an519"],
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300274 "compiler": ["ARMCLANG_6_21"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800275 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800276 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800277 "test_psa_api": ["OFF"],
278 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800279 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800280 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800281 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800282 },
283 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800284 "valid": [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800285 # AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300286 ("arm/mps2/an519", "ARMCLANG_6_21", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800287 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800288 # AN519_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100289 ("arm/mps2/an519", "GCC_13_2", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800290 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
291 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100292 ("arm/mps2/an519", "GCC_13_2", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800293 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
294 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300295 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800296 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
297 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300298 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800299 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Chris Branddc827302024-10-11 15:20:17 -0700300 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_PSCLEAR
301 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
302 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "PSCLEAR"),
303 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_PSLIMIT
304 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
305 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "PSLIMIT"),
Jianliang Shen6984bef2023-07-25 10:36:56 +0800306 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_IPC
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300307 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
Jianliang Shen6984bef2023-07-25 10:36:56 +0800308 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "IPC"),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800309 # AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300310 ("arm/mps2/an521", "ARMCLANG_6_21", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800311 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
312 # AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300313 ("arm/mps2/an521", "ARMCLANG_6_21", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800314 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800315 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100316 ("arm/mps2/an521", "GCC_13_2", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800317 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Matthew Dalzell276318d2024-09-12 15:59:31 +0100318 # AN521_GCC_2_RegBL2_RegS_RegNS_Debug_BL2_MEDIUM
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100319 ("arm/mps2/an521", "GCC_13_2", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800320 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_medium", ""),
321 # AN521_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100322 ("arm/mps2/an521", "GCC_13_2", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800323 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
324 # AN521_GCC_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100325 ("arm/mps2/an521", "GCC_13_2", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800326 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
Xinyu Zhang280f5ab2023-10-31 16:17:21 +0800327 # AN521_GCC_1_FF_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100328 ("arm/mps2/an521", "GCC_13_2", "1",
Xinyu Zhang280f5ab2023-10-31 16:17:21 +0800329 "OFF", "IPC", "Release", True, "", ""),
330 # AN521_ARMCLANG_2_STORAGE_Debug_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300331 ("arm/mps2/an521", "ARMCLANG_6_21", "2",
Xinyu Zhang280f5ab2023-10-31 16:17:21 +0800332 "OFF", "STORAGE", "Debug", True, "", ""),
Matthew Dalzell276318d2024-09-12 15:59:31 +0100333 # CS300_FVP_GCC_2_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100334 ("arm/mps3/corstone300/fvp", "GCC_13_2", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800335 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Matthew Dalzell276318d2024-09-12 15:59:31 +0100336 # CS300_FVP_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100337 ("arm/mps3/corstone300/fvp", "GCC_13_2", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800338 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
Matthew Dalzell276318d2024-09-12 15:59:31 +0100339 # corstone310_ARMCLANG_1_Debug_BL2_PACBTI_STD
Nicola Mazzucatob4e19572024-08-21 12:26:14 +0100340 ("arm/mps3/corstone310/fvp", "ARMCLANG_6_21", "1",
Nicola Mazzucatob542f2b2024-05-23 10:13:43 +0100341 "OFF", "OFF", "Debug", True, "", "PACBTI_STD"),
Xinyu Zhang5c4f2182023-10-31 16:26:45 +0800342 # corstone1000_GCC_2_RegS_Debug_BL2_NSOFF_CS1K_TEST_FVP
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100343 ("arm/corstone1000", "GCC_13_2", "2",
Xinyu Zhang5c4f2182023-10-31 16:26:45 +0800344 "RegS", "OFF", "Debug", True, "", "NSOFF, CS1K_TEST, FVP"),
Matthew Dalzell397fb3c2024-06-21 11:03:38 +0100345 # corstone315_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
346 ("arm/mps4/corstone315", "ARMCLANG_6_21", "1",
347 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200348 # corstone320_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
349 ("arm/mps4/corstone320", "ARMCLANG_6_21", "1",
350 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800351 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Minsizerel_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100352 ("arm/musca_b1", "GCC_13_2", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800353 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100354 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Release_BL2_CC_DRIVER_PSA
355 ("arm/musca_b1", "GCC_13_2", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800356 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Nicola Mazzucato8617ae92024-10-02 13:14:15 +0100357 # RSE_TC3_GCC_3_RegS_RegNS_Release_BL2_ATTESTATION_SCHEME_DPE
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100358 #("arm/rse/tc/tc3", "GCC_13_2", "3",
Antonio de Angelis78a01fc2025-02-06 11:11:25 +0000359 # "RegS, RegNS", "OFF", "Release", True, "", "ATTESTATION_SCHEME_DPE"),
Jamie Fox82a91d02024-09-27 14:54:14 +0100360 # RSE_TC3_GCC_2_RegBL1_1_Debug_BL2
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100361 #("arm/rse/tc/tc3", "GCC_13_2", "2",
Antonio de Angelis78a01fc2025-02-06 11:11:25 +0000362 # "RegBL1_1", "OFF", "Debug", True, "", ""),
Nicola Mazzucatob4763262024-09-26 12:39:06 +0100363 # RSE_TC3_GCC_2_Release_BL2_ATTESTATION_SCHEME_CCA
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100364 #("arm/rse/tc/tc3", "GCC_13_2", "2",
Antonio de Angelis78a01fc2025-02-06 11:11:25 +0000365 # "OFF", "OFF", "Release", True, "", "ATTESTATION_SCHEME_CCA"),
Tamas Ban33b2e382025-03-17 12:23:08 +0100366 # RSE_TC4_GCC_3_RegS_RegNS_Release_BL2_ATTESTATION_SCHEME_DPE
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100367 ("arm/rse/tc/tc4", "GCC_13_2", "3",
Tamas Ban33b2e382025-03-17 12:23:08 +0100368 "RegS, RegNS", "OFF", "Release", True, "", "ATTESTATION_SCHEME_DPE"),
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100369 # RSE_TC4_GCC_3_RegS_RegNS_Release_BL2_RSE_PROVISIONING_SYMMETRIC
370 ("arm/rse/tc/tc4", "GCC_13_2", "3",
371 "RegS, RegNS", "OFF", "Release", True, "", "RSE_PROVISIONING_SYMMETRIC"),
Jackson Cooper-Driver0ac3fe02025-02-20 09:23:03 +0000372 # RSE_TC4_GCC_2_Debug_BL2
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100373 ("arm/rse/tc/tc4", "GCC_13_2", "2",
Tamas Ban33b2e382025-03-17 12:23:08 +0100374 "OFF", "OFF", "Debug", True, "", ""),
Jackson Cooper-Driver042d0fa2025-03-03 12:45:54 +0000375 # RSE_TC4_GCC_2_RegBL1_1_Debug_BL2
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100376 ("arm/rse/tc/tc4", "GCC_13_2", "2",
Tamas Ban33b2e382025-03-17 12:23:08 +0100377 "RegBL1_1", "OFF", "Debug", True, "", ""),
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000378 # RSE_TC4_GCC_2_Release_BL2_ATTESTATION_SCHEME_CCA
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100379 ("arm/rse/tc/tc4", "GCC_13_2", "2",
Tamas Ban33b2e382025-03-17 12:23:08 +0100380 "OFF", "OFF", "Release", True, "", "ATTESTATION_SCHEME_CCA"),
Jackson Cooper-Drivere6e1db02025-05-16 10:45:20 +0100381 # RSE_TC4_GCC_2_RegS_RegNS_MinSizeRel_BL2_RSE_COPY_USE_ROM_LIB_IN_SRAM
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100382 ("arm/rse/tc/tc4", "GCC_13_2", "2",
Jackson Cooper-Drivere6e1db02025-05-16 10:45:20 +0100383 "RegS, RegNS", "OFF", "MinSizeRel", True, "", "RSE_COPY_USE_ROM_LIB_IN_SRAM"),
Ishan Deshpande80d840e2025-01-09 18:46:56 +0530384 # RSE_RDV3_GCC_2_Release_BL2_NSOFF_CFG0
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100385 ("arm/rse/neoverse_rd/rdv3", "GCC_13_2", "2",
Jamie Fox9283cbc2024-04-22 13:40:01 +0100386 "OFF", "OFF", "Release", True, "", "NSOFF, CFG0"),
Nicola Mazzucato75b76af2025-02-07 15:20:59 +0000387 # RSE_RDV3R1_GCC_2_Release_BL2_NSOFF_CFG0
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100388 ("arm/rse/neoverse_rd/rdv3r1", "GCC_13_2", "2",
Nicola Mazzucato75b76af2025-02-07 15:20:59 +0000389 "OFF", "OFF", "Release", True, "", "NSOFF, CFG0"),
Ziad Elhanafy937333f2024-05-22 14:17:40 +0100390 # RSE_RD1AE_GCC_2_Release_BL2_NSOFF
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100391 ("arm/rse/automotive_rd/rd1ae", "GCC_13_2", "2",
Ziad Elhanafy937333f2024-05-22 14:17:40 +0100392 "OFF", "OFF", "Release", True, "", "NSOFF"),
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800393 # stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300394 ("stm/stm32l562e_dk", "ARMCLANG_6_21", "1",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800395 "RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
396 # stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100397 ("stm/stm32l562e_dk", "GCC_13_2", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800398 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
Matthew Dalzell276318d2024-09-12 15:59:31 +0100399 # stm32l562e_dk_GCC_3_RegBL2_RegS_RegNS_Release_BL2_CRYPTO_OFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100400 ("stm/stm32l562e_dk", "GCC_13_2", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800401 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
Arthur She4f08c152023-05-15 15:29:14 -0700402 # b_u585i_iot02a_GCC_1_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100403 ("stm/b_u585i_iot02a", "GCC_13_2", "1",
Arthur She4f08c152023-05-15 15:29:14 -0700404 "RegS, RegNS", "OFF", "Release", True, "", ""),
405 # b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +0300406 ("stm/b_u585i_iot02a", "ARMCLANG_6_21", "2",
Arthur She4f08c152023-05-15 15:29:14 -0700407 "RegS, RegNS", "OFF", "Release", True, "", ""),
Anton Komlev4164ab62024-02-23 10:59:56 +0100408 # stm32h573i_dk_GCC_1_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100409 ("stm/stm32h573i_dk", "GCC_13_2", "1",
Anton Komlev4164ab62024-02-23 10:59:56 +0100410 "RegS, RegNS", "OFF", "Release", True, "", ""),
411 # stm32h573i_dk_ARMCLANG_2_RegS_RegNS_Release_BL2
412 ("stm/stm32h573i_dk", "ARMCLANG_6_21", "2",
413 "RegS, RegNS", "OFF", "Release", True, "", ""),
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800414 # psoc64_GCC_2_RegS_RegNS_Release
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100415 ("cypress/psoc64", "GCC_13_2", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800416 "RegS, RegNS", "OFF", "Release", False, "", ""),
Nicola Mazzucato4bad6c62024-10-28 14:42:17 +0000417 # rp2350_GCC_2_RegBL2_RegS_RegNS_Release_BL2_MEDIUM
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100418 ("rpi/rp2350", "GCC_13_2", "2",
Nicola Mazzucato4bad6c62024-10-28 14:42:17 +0000419 "RegBL2, RegS, RegNS", "OFF", "Release", True, "profile_medium", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800420 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800421 "invalid": _common_tfm_invalid_configs + []
422 }
423
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800424# Config group for nightly job
425config_nightly_test = {"seed_params": {
426 "tfm_platform": ["arm/mps2/an519",
427 "arm/mps2/an521",
428 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200429 "arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100430 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800431 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800432 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800433 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800434 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800435 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800436 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800437 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100438 },
439 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800440 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100441 }
442
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000443config_all_plat = {
444 # corstone1000_GCC_2_RegS_Release_BL2_NSOFF_CS1K_TEST_FVP
445 "seed_params": {
446 "tfm_platform": ["arm/corstone1000"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100447 "compiler": ["GCC_13_2"],
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000448 "isolation_level": ["2"],
449 "test_regression": ["RegS"],
450 "test_psa_api": ["OFF"],
451 "cmake_build_type": ["Release"],
452 "with_bl2": [True],
453 "profile": [""],
454 "extra_params": ["NSOFF, CS1K_TEST, FVP"]
455 },
456 "common_params": _common_tfm_builder_cfg,
457 "valid": [
458 # AN521_GCC_3_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100459 ("arm/mps2/an521", "GCC_13_2", "3",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000460 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
461 # AN519_GCC_2_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100462 ("arm/mps2/an519", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000463 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
464 # AN524_GCC_2_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100465 ("arm/mps3/an524", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000466 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
467 # CS300_AN547_GCC_1_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100468 ("arm/mps3/corstone300/an547", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000469 "OFF", "OFF", "Debug", True, "", ""),
470 # CS300_AN552_GCC_2_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100471 ("arm/mps3/corstone300/an552", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000472 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
473 # CS300_FVP_GCC_2_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100474 ("arm/mps3/corstone300/fvp", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000475 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
476 # corstone310_GCC_1_Debug_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100477 ("arm/mps3/corstone310/fvp", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000478 "OFF", "OFF", "Debug", True, "", "NSOFF"),
479 # corstone315_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100480 ("arm/mps4/corstone315", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000481 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
482 # corstone320_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100483 ("arm/mps4/corstone320", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000484 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
485 # MUSCA_B1_GCC_3_RegBL2_RegS_RegNS_Debug_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100486 ("arm/musca_b1", "GCC_13_2", "3",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000487 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000488 # RSE_TC3_GCC_3_RegS_RegNS_Debug_BL2_ATTESTATION_SCHEME_DPE
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100489 ("arm/rse/tc/tc3", "GCC_13_2", "3",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000490 "RegS, RegNS", "OFF", "Debug", True, "", "ATTESTATION_SCHEME_DPE"),
491 # psoc64_GCC_2_RegS_RegNS_Release
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100492 ("cypress/psoc64", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000493 "RegS, RegNS", "OFF", "Release", False, "", ""),
494 ## BL5340_GCC_1_Debug_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100495 #("lairdconnectivity/bl5340_dvk_cpuapp", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000496 # "OFF", "OFF", "Debug", True, "", "NSOFF"),
497 ## nrf5340dk_GCC_1_Debug_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100498 #("nordic_nrf/nrf5340dk_nrf5340_cpuapp", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000499 # "OFF", "OFF", "Release", True, "", "NSOFF"),
500 ## nrf9160dk_GCC_1_Debug_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100501 #("nordic_nrf/nrf9160dk_nrf9160", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000502 # "OFF", "OFF", "Release", True, "", "NSOFF"),
503 ## M2351_GCC_1_Release_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100504 #("nuvoton/m2351", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000505 # "OFF", "OFF", "Release", True, "", "NSOFF"),
506 # M2354_GCC_1_Debug_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100507 ("nuvoton/m2354", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000508 "OFF", "OFF", "Debug", True, "", "NSOFF"),
509 # lpcxpresso55s69_GCC_2_RegS_RegNS_Relwithdebinfo_MEDIUM
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100510 ("nxp/lpcxpresso55s69", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000511 "RegS, RegNS", "OFF", "Relwithdebinfo", False, "profile_medium", ""),
512 # rp2350_GCC_2_RegBL2_RegS_RegNS_RelWithDebInfo_BL2_MEDIUM
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100513 ("rpi/rp2350", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000514 "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo", True, "profile_medium", ""),
515 # b_u585i_iot02a_GCC_2_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100516 ("stm/b_u585i_iot02a", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000517 "RegS, RegNS", "OFF", "Release", True, "", ""),
518 # nucleo_l552ze_q_GCC_1_Release_BL2_NSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100519 ("stm/nucleo_l552ze_q", "GCC_13_2", "1",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000520 "OFF", "OFF", "Release", True, "", "NSOFF"),
521 # stm32h573i_dk_GCC_2_RegS_RegNS_Release_BL2
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100522 ("stm/stm32h573i_dk", "GCC_13_2", "2",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000523 "RegS, RegNS", "OFF", "Release", True, "", ""),
524 # stm32l562e_dk_GCC_3_RegBL2_RegS_RegNS_Release_BL2_CRYPTO_OFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100525 ("stm/stm32l562e_dk", "GCC_13_2", "3",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000526 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
527 # stm32l562e_dk_GCC_3_Release_BL2_CRYPTO_ON
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100528 ("stm/stm32l562e_dk", "GCC_13_2", "3",
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000529 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
Matthew Dalzell8fbf3562025-05-13 14:46:50 +0100530 # stm32wba65i_dk_GCC_2_RegS_RegNS_Release_MEDIUM
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100531 ("stm/stm32wba65i_dk", "GCC_13_2", "2",
Matthew Dalzell8fbf3562025-05-13 14:46:50 +0100532 "RegS, RegNS", "OFF", "Release", False, "profile_medium", ""),
Matthew Dalzell06e8f692024-11-09 00:55:06 +0000533 ],
534 "invalid": _common_tfm_invalid_configs + []
535 }
536
537
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800538# Config group for release job
539config_release_test = {"seed_params": {
540 "tfm_platform": ["arm/mps2/an519",
541 "arm/mps2/an521",
542 "arm/mps3/an524",
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100543 "arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100544 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800545 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800546 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800547 "test_psa_api": ["OFF"],
548 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800549 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800550 "profile": [""],
David Vinczed78e2622022-11-24 15:04:00 +0100551 "extra_params": ["TEST_CBOR"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800552 },
553 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800554 "valid": [
555 # sanity test for GCC v11.2
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800556 # AN521_GCC_3_RegBL2_RegS_RegNS_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800557 ("arm/mps2/an521", "GCC_11_2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800558 "3", "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800559 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800560 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800561 "invalid": _common_tfm_invalid_configs + []
562 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800563
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800564# Config groups for TF-M features
565config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800566 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100567 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
David Huda27ae72022-03-28 15:32:19 +0800568 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800569 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Huda27ae72022-03-28 15:32:19 +0800570 "test_psa_api": ["OFF"],
571 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800572 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800573 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800574 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800575 },
576 "common_params": _common_tfm_builder_cfg,
David Huda27ae72022-03-28 15:32:19 +0800577 "invalid": _common_tfm_invalid_configs + [
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100578 ("arm/mps2/an519", "GCC_13_2", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800579 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800580 ]
581 }
582
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800583config_profile_m = {"seed_params": {
584 "tfm_platform": ["arm/mps2/an519",
585 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200586 "arm/musca_b1"],
Nicola Mazzucato596fe7e2025-05-28 21:42:16 +0100587 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800588 "isolation_level": ["2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800589 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800590 "test_psa_api": ["OFF"],
591 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800592 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800593 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800594 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800595 },
596 "common_params": _common_tfm_builder_cfg,
597 "invalid": _common_tfm_invalid_configs + []
598 }
599
David Hu3d333762022-10-27 18:12:33 +0800600config_profile_m_arotless = {"seed_params": {
601 "tfm_platform": ["arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100602 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
David Hu3d333762022-10-27 18:12:33 +0800603 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800604 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Hu3d333762022-10-27 18:12:33 +0800605 "test_psa_api": ["OFF"],
606 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
607 "with_bl2": [True],
608 "profile": ["profile_medium_arotless"],
609 "extra_params": ["", "PSOFF"]
610 },
611 "common_params": _common_tfm_builder_cfg,
612 "invalid": _common_tfm_invalid_configs + []
613 }
614
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800615config_profile_l = {"seed_params": {
616 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100617 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800618 "isolation_level": ["3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800619 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800620 "test_psa_api": ["OFF"],
621 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800622 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800623 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800624 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800625 },
626 "common_params": _common_tfm_builder_cfg,
627 "invalid": _common_tfm_invalid_configs + []
628 }
629
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800630config_ipc_backend = {"seed_params": {
631 "tfm_platform": ["arm/mps2/an519",
632 "arm/mps2/an521",
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800633 "arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100634 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800635 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800636 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800637 "test_psa_api": ["OFF"],
638 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
639 "with_bl2": [True],
640 "profile": [""],
641 "extra_params": ["IPC"]
642 },
643 "common_params": _common_tfm_builder_cfg,
644 "invalid": _common_tfm_invalid_configs + []
645 }
646
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800647config_cc_driver_psa = {"seed_params": {
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100648 "tfm_platform": ["arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100649 "compiler": ["GCC_13_2"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800650 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800651 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800652 "test_psa_api": ["OFF"],
653 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800654 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800655 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800656 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800657 },
658 "common_params": _common_tfm_builder_cfg,
659 "invalid": _common_tfm_invalid_configs + []
660 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100661
Antonio de Angelis9d7f0842025-06-27 22:23:51 +0100662config_cc3xx_runtime_enabled = {"seed_params": {
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100663 "tfm_platform": ["arm/musca_b1"],
Antonio de Angelis9d7f0842025-06-27 22:23:51 +0100664 "compiler": ["GCC_13_2"],
665 "isolation_level": ["1"],
666 "test_regression": ["RegBL2, RegS, RegNS"],
667 "test_psa_api": ["OFF"],
668 "cmake_build_type": ["Release"],
669 "with_bl2": [True],
670 "profile": [""],
671 "extra_params": ["CC3XX_RUNTIME_ENABLED"]
672 },
673 "common_params": _common_tfm_builder_cfg,
674 "invalid": _common_tfm_invalid_configs + []
675 }
676
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800677config_fp = {"seed_params": {
Xinyu Zhange91567c2023-09-13 14:10:11 +0800678 "tfm_platform": ["arm/mps2/an521",
679 "arm/mps3/corstone300/an552",
680 "arm/mps3/corstone300/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100681 "compiler": ["GCC_13_2"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800682 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800683 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800684 "test_psa_api": ["OFF"],
685 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800686 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800687 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200688 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800689 },
690 "common_params": _common_tfm_builder_cfg,
691 "invalid": _common_tfm_invalid_configs + []
692 }
Karl Zhangeffed972020-06-30 15:48:01 +0800693
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800694config_psa_api = {"seed_params": {
695 "tfm_platform": ["arm/mps2/an521",
Antonio de Angelis6ce8d722025-07-06 21:38:15 +0100696 "arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100697 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800698 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800699 "test_regression": ["OFF"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800700 "test_psa_api": ["IPC",
701 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800702 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800703 "STORAGE"],
Antonio de Angelis240495b2025-03-30 22:46:54 +0100704 "cmake_build_type": ["Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800705 "with_bl2": [True],
Antonio de Angelis240495b2025-03-30 22:46:54 +0100706 "profile": ["profile_large"],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800707 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800708 },
709 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300710 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800711 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800712
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800713config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800714 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100715 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800716 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800717 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800718 "test_psa_api": ["OFF"],
719 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800720 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800721 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800722 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800723 },
724 "common_params": _common_tfm_builder_cfg,
725 "invalid": _common_tfm_invalid_configs + []
726 }
727
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800728config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800729 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100730 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800731 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800732 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800733 "test_psa_api": ["OFF"],
734 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800735 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800736 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800737 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800738 },
739 "common_params": _common_tfm_builder_cfg,
740 "invalid": _common_tfm_invalid_configs + []
741 }
742
Bence Balogh79fda442022-10-14 18:01:37 +0200743# Config groups for TF-M examples
744config_example_vad = {"seed_params": {
Bence Balogh1aa8d582023-08-29 13:10:02 +0200745 "tfm_platform": ["arm/mps3/corstone300/an552"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100746 "compiler": ["GCC_13_2"],
Bence Balogh79fda442022-10-14 18:01:37 +0200747 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800748 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200749 "test_psa_api": ["OFF"],
750 "cmake_build_type": ["Release"],
751 "with_bl2": [True],
752 "profile": [""],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200753 "extra_params": ["EXTRAS_EXAMPLE_VAD"]
Bence Balogh79fda442022-10-14 18:01:37 +0200754 },
755 "common_params": _common_tfm_builder_cfg,
756 "invalid": _common_tfm_invalid_configs + []
757 }
758
Bence Balogh852f8bd2023-08-07 14:46:54 +0200759config_example_dma350_clcd = {"seed_params": {
Bence Balogh79fda442022-10-14 18:01:37 +0200760 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100761 "compiler": ["GCC_13_2"],
Bence Balogh79fda442022-10-14 18:01:37 +0200762 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800763 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200764 "test_psa_api": ["OFF"],
765 "cmake_build_type": ["Release"],
766 "with_bl2": [True],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200767 "profile": ["profile_medium"],
768 "extra_params": ["EXTRAS_EXAMPLE_DMA350_CLCD"]
Bence Balogh79fda442022-10-14 18:01:37 +0200769 },
770 "common_params": _common_tfm_builder_cfg,
771 "invalid": _common_tfm_invalid_configs + []
772 }
773
774config_example_dma350_s = {"seed_params": {
775 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100776 "compiler": ["GCC_13_2"],
Bence Balogh79fda442022-10-14 18:01:37 +0200777 "isolation_level": ["1"],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200778 "test_regression": ["RegS"],
Bence Balogh79fda442022-10-14 18:01:37 +0200779 "test_psa_api": ["OFF"],
780 "cmake_build_type": ["Release"],
781 "with_bl2": [True],
782 "profile": [""],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200783 "extra_params": ["EXTRAS_EXAMPLE_DMA350_S"]
Bence Balogh79fda442022-10-14 18:01:37 +0200784 },
785 "common_params": _common_tfm_builder_cfg,
786 "invalid": _common_tfm_invalid_configs + []
787 }
788
Bence Baloghd23cbda2023-08-07 15:30:58 +0200789config_example_dma350_ns = {"seed_params": {
790 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100791 "compiler": ["GCC_13_2"],
Bence Baloghd23cbda2023-08-07 15:30:58 +0200792 "isolation_level": ["1"],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200793 "test_regression": ["RegS, RegNS"],
Bence Baloghd23cbda2023-08-07 15:30:58 +0200794 "test_psa_api": ["OFF"],
795 "cmake_build_type": ["Release"],
796 "with_bl2": [True],
797 "profile": [""],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200798 "extra_params": ["EXTRAS_EXAMPLE_DMA350_NS"]
Bence Baloghd23cbda2023-08-07 15:30:58 +0200799 },
800 "common_params": _common_tfm_builder_cfg,
801 "invalid": _common_tfm_invalid_configs + []
802 }
803
Bence Balogh79fda442022-10-14 18:01:37 +0200804config_example_dma350_trigger = {"seed_params": {
805 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100806 "compiler": ["GCC_13_2"],
Bence Balogh79fda442022-10-14 18:01:37 +0200807 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800808 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200809 "test_psa_api": ["OFF"],
810 "cmake_build_type": ["Release"],
811 "with_bl2": [True],
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200812 "profile": ["profile_medium"],
813 "extra_params": ["EXTRAS_EXAMPLE_DMA350_TRIGGER"]
Bence Balogh79fda442022-10-14 18:01:37 +0200814 },
815 "common_params": _common_tfm_builder_cfg,
816 "invalid": _common_tfm_invalid_configs + []
817 }
818
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300819config_misra = {"seed_params": {
820 "tfm_platform": ["arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100821 "compiler": ["GCC_13_2"],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300822 "isolation_level": ["1"],
823 "test_regression": ["OFF"],
824 "test_psa_api": ["OFF"],
825 "cmake_build_type": ["Debug"],
826 "with_bl2": [True],
Matthew Dalzellb7895ae2025-04-10 12:30:01 +0100827 "profile": ["profile_small", "profile_medium_arotless"],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300828 "extra_params": ["PSOFF"]
829 },
830 "common_params": _common_tfm_builder_cfg,
Xinyu Zhange17926f2023-08-14 11:00:43 +0800831 "valid": [
832 # MUSCA_B1_GCC_2_Debug_BL2_MEDIUM_PSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100833 ("arm/musca_b1", "GCC_13_2", "2", "OFF",
Xinyu Zhange17926f2023-08-14 11:00:43 +0800834 "OFF", "Debug", True, "profile_medium", "PSOFF"),
835 # MUSCA_B1_GCC_3_Debug_BL2_LARGE_PSOFF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100836 ("arm/musca_b1", "GCC_13_2", "3", "OFF",
Xinyu Zhange17926f2023-08-14 11:00:43 +0800837 "OFF", "Debug", True, "profile_large", "PSOFF"),
838 ],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300839 "invalid": _common_tfm_invalid_configs + []
840 }
841
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300842config_misra_debug = {"seed_params": {
843 "tfm_platform": ["arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100844 "compiler": ["GCC_13_2"],
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300845 "isolation_level": ["1"],
846 "test_regression": ["OFF"],
847 "test_psa_api": ["OFF"],
848 "cmake_build_type": ["Debug"],
849 "with_bl2": [True],
850 "profile": ["profile_small"],
851 "extra_params": ["PSOFF"]
852 },
853 "common_params": _common_tfm_builder_cfg,
854 "invalid": _common_tfm_invalid_configs + []
855 }
856
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800857# Config groups for code coverage
858config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800859config_cov_profile_s["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100860config_cov_profile_s["seed_params"]["compiler"] = ["GCC_13_2"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800861
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800862config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800863config_cov_profile_m["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100864config_cov_profile_m["seed_params"]["compiler"] = ["GCC_13_2"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800865
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800866config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800867config_cov_profile_l["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100868config_cov_profile_l["seed_params"]["compiler"] = ["GCC_13_2"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800869
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800870config_cov_ipc_backend = deepcopy(config_ipc_backend)
871config_cov_ipc_backend["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100872config_cov_ipc_backend["seed_params"]["compiler"] = ["GCC_13_2"]
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800873
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800874config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800875config_cov_nsce["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100876config_cov_nsce["seed_params"]["compiler"] = ["GCC_13_2"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800877
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800878config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800879config_cov_mmio["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100880config_cov_mmio["seed_params"]["compiler"] = ["GCC_13_2"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800881
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800882config_cov_fp = deepcopy(config_fp)
883config_cov_fp["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100884config_cov_fp["seed_params"]["compiler"] = ["GCC_13_2"]
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800885
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800886# Config groups for platforms
887config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800888 "tfm_platform": ["arm/mps2/an519"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100889 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800890 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800891 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800892 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800893 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800894 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800895 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800896 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800897 },
898 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800899 "invalid": _common_tfm_invalid_configs + []
900 }
901
902config_an521 = {"seed_params": {
903 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100904 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800905 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800906 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800907 "test_psa_api": ["OFF"],
908 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800909 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800910 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800911 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800912 },
913 "common_params": _common_tfm_builder_cfg,
914 "invalid": _common_tfm_invalid_configs + []
915 }
916
917config_an524 = {"seed_params": {
918 "tfm_platform": ["arm/mps3/an524"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100919 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800920 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800921 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800922 "test_psa_api": ["OFF"],
923 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800924 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800925 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800926 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800927 },
928 "common_params": _common_tfm_builder_cfg,
929 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800930 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000931
Bence Balogh1aa8d582023-08-29 13:10:02 +0200932config_cs300_an547 = {"seed_params": {
933 "tfm_platform": ["arm/mps3/corstone300/an547"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100934 "compiler": ["GCC_13_2"],
Bence Balogh1aa8d582023-08-29 13:10:02 +0200935 "isolation_level": ["1"],
936 "test_regression": ["OFF"],
937 "test_psa_api": ["OFF"],
938 "cmake_build_type": ["Debug"],
939 "with_bl2": [True],
940 "profile": [""],
941 "extra_params": [""]
942 },
943 "common_params": _common_tfm_builder_cfg,
944 "invalid": _common_tfm_invalid_configs + []
945 }
Xinyu Zhang38b76742021-11-11 13:57:56 +0800946
Bence Balogh1aa8d582023-08-29 13:10:02 +0200947config_cs300_an552 = {"seed_params": {
948 "tfm_platform": ["arm/mps3/corstone300/an552"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100949 "compiler": ["GCC_13_2"],
Bence Balogh1aa8d582023-08-29 13:10:02 +0200950 "isolation_level": ["1", "2"],
951 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
952 "test_psa_api": ["OFF"],
953 "cmake_build_type": ["Debug", "Release"],
954 "with_bl2": [True],
955 "profile": [""],
956 "extra_params": [""]
957 },
958 "common_params": _common_tfm_builder_cfg,
959 "invalid": _common_tfm_invalid_configs + []
960 }
961
962config_cs300_fvp = {"seed_params": {
963 "tfm_platform": ["arm/mps3/corstone300/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100964 "compiler": ["GCC_13_2"],
Bence Balogh1aa8d582023-08-29 13:10:02 +0200965 "isolation_level": ["1", "2"],
966 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
967 "test_psa_api": ["OFF"],
968 "cmake_build_type": ["Debug", "Release"],
969 "with_bl2": [True],
970 "profile": [""],
971 "extra_params": [""]
972 },
973 "common_params": _common_tfm_builder_cfg,
974 "invalid": _common_tfm_invalid_configs + []
975 }
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800976
977config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200978 "tfm_platform": ["arm/musca_b1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +0100979 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800980 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800981 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800982 "test_psa_api": ["OFF"],
983 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800984 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800985 "profile": [""],
Antonio de Angelis9a3bd142025-06-27 21:37:31 +0100986 "extra_params": [""]
987 },
988 "common_params": _common_tfm_builder_cfg,
989 "invalid": _common_tfm_invalid_configs + []
990 }
991
992config_musca_b1_nsoff = {"seed_params": {
993 "tfm_platform": ["arm/musca_b1"],
994 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
995 "isolation_level": ["1", "2", "3"],
996 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
997 "test_psa_api": ["OFF"],
998 "cmake_build_type": ["Debug", "Release"],
999 "with_bl2": [True],
1000 "profile": [""],
1001 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001002 },
1003 "common_params": _common_tfm_builder_cfg,
1004 "invalid": _common_tfm_invalid_configs + []
1005 }
1006
Bence Balogh8731a092022-05-24 17:24:54 +02001007config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +01001008 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001009 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001010 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001011 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001012 "test_psa_api": ["OFF"],
1013 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001014 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001015 "profile": [""],
Gergely Korcsák6abc66c2025-04-29 14:55:33 +02001016 "extra_params": ["NSOFF", "PROV_TFM_DUMMY", "PROV_MCUBOOT_GEN_KEYS"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001017 },
1018 "common_params": _common_tfm_builder_cfg,
1019 "invalid": _common_tfm_invalid_configs + []
1020 }
1021
Nicola Mazzucatobde5d432024-05-20 11:43:18 +01001022config_corstone310_pacbti = {"seed_params": {
1023 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Nicola Mazzucatob4e19572024-08-21 12:26:14 +01001024 "compiler": ["ARMCLANG_6_21"],
Nicola Mazzucatobde5d432024-05-20 11:43:18 +01001025 "isolation_level": ["1"],
1026 "test_regression": ["OFF"],
1027 "test_psa_api": ["OFF"],
1028 "cmake_build_type": ["Debug"],
1029 "with_bl2": [True],
1030 "profile": [""],
1031 "extra_params": ["PACBTI_STD"]
1032 },
1033 "common_params": _common_tfm_builder_cfg,
1034 "invalid": _common_tfm_invalid_configs + []
1035 }
1036
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001037config_corstone315 = {"seed_params": {
1038 "tfm_platform": ["arm/mps4/corstone315"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001039 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001040 "isolation_level": ["1"],
Gergely Korcsáka403e222024-04-09 10:51:00 +02001041 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001042 "test_psa_api": ["OFF"],
1043 "cmake_build_type": ["Debug", "Release"],
1044 "with_bl2": [True],
1045 "profile": [""],
1046 "extra_params": [""]
1047 },
1048 "common_params": _common_tfm_builder_cfg,
1049 "invalid": _common_tfm_invalid_configs + []
1050 }
1051
Gergely Korcsák78a4d142024-08-05 07:41:36 +02001052config_corstone320 = {"seed_params": {
1053 "tfm_platform": ["arm/mps4/corstone320"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001054 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Gergely Korcsák78a4d142024-08-05 07:41:36 +02001055 "isolation_level": ["1"],
1056 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
1057 "test_psa_api": ["OFF"],
1058 "cmake_build_type": ["Debug", "Release"],
1059 "with_bl2": [True],
1060 "profile": [""],
1061 "extra_params": [""]
1062 },
1063 "common_params": _common_tfm_builder_cfg,
1064 "invalid": _common_tfm_invalid_configs + []
1065 }
1066
Jamie Fox82a91d02024-09-27 14:54:14 +01001067config_rse_tc3 = {"seed_params": {
1068 "tfm_platform": ["arm/rse/tc/tc3"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001069 "compiler": ["GCC_13_2"],
Jamie Foxc5b9e6a2024-10-10 17:07:57 +01001070 "isolation_level": ["1", "2", "3"],
Jamie Fox9283cbc2024-04-22 13:40:01 +01001071 "test_regression": ["OFF", "RegS, RegNS"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001072 "test_psa_api": ["OFF"],
1073 "cmake_build_type": ["Debug", "Release"],
1074 "with_bl2": [True],
1075 "profile": [""],
Nicola Mazzucato551c5f32024-10-02 09:43:04 +01001076 "extra_params": ["ATTESTATION_SCHEME_DPE"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001077 },
1078 "common_params": _common_tfm_builder_cfg,
Jamie Fox9e2c2352023-01-13 15:11:23 +00001079 "invalid": _common_tfm_invalid_configs + [
Jamie Fox5ae6fa42024-02-19 15:11:00 +00001080 # BL2 is too large for RSE in Debug builds with tests
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001081 ("arm/rse/tc/tc3", "GCC_13_2", "*", "RegBL2, RegS, RegNS", "*",
Jamie Fox9e2c2352023-01-13 15:11:23 +00001082 "Debug", True, "*", "*"),
1083 ]
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001084 }
1085
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001086config_rse_tc4 = {"seed_params": {
1087 "tfm_platform": ["arm/rse/tc/tc4"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001088 "compiler": ["GCC_13_2"],
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001089 "isolation_level": ["1", "2", "3"],
Jackson Cooper-Driver042d0fa2025-03-03 12:45:54 +00001090 "test_regression": ["OFF", "RegS, RegNS", "RegBL1_1"],
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001091 "test_psa_api": ["OFF"],
1092 "cmake_build_type": ["Debug", "Release"],
1093 "with_bl2": [True],
1094 "profile": [""],
Jackson Cooper-Driver49350442025-05-29 14:13:45 +01001095 "extra_params": ["ATTESTATION_SCHEME_DPE", "RSE_PROVISIONING_SYMMETRIC"]
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001096 },
1097 "common_params": _common_tfm_builder_cfg,
1098 "invalid": _common_tfm_invalid_configs + [
1099 # BL2 is too large for RSE in Debug builds with tests
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001100 ("arm/rse/tc/tc4", "GCC_13_2", "*", "RegBL2, RegS, RegNS", "*",
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001101 "Debug", True, "*", "*"),
Jackson Cooper-Drivere6e1db02025-05-16 10:45:20 +01001102 ],
1103 "valid": [
1104 ("arm/rse/tc/tc4", "*", "*", "*", "*",
1105 "MinSizeRel", True, "*", "RSE_COPY_USE_ROM_LIB_IN_SRAM"),
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001106 ]
1107 }
1108
Nicola Mazzucatoe932bd72025-04-14 17:11:10 +01001109# RSE-specific build-only cases.
1110# New cases should be better added in the valid section
1111# This group is only consumed in "tf-m-extra-build" CI job
1112config_rse_build_only = {"seed_params": {
1113 "tfm_platform": ["arm/rse/tc/tc4"],
1114 "compiler": ["ARMCLANG_6_21"],
1115 "isolation_level": ["2"],
1116 "test_regression": ["OFF"],
1117 "test_psa_api": ["OFF"],
1118 "cmake_build_type": ["Release"],
1119 "with_bl2": [True],
1120 "profile": [""],
1121 "extra_params": ["ATTESTATION_SCHEME_CCA, RSE_SUPPORT_ROM_LIB_RELOCATION_OFF"]
1122 },
1123 "common_params": _common_tfm_builder_cfg,
1124 "invalid": _common_tfm_invalid_configs + []
1125 }
1126
Ishan Deshpande80d840e2025-01-09 18:46:56 +05301127config_rse_rdv3 = {"seed_params": {
Antonio de Angelis373187e2025-01-11 22:09:30 +00001128 "tfm_platform": ["arm/rse/neoverse_rd/rdv3"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001129 "compiler": ["GCC_13_2"],
Jamie Foxc5b9e6a2024-10-10 17:07:57 +01001130 "isolation_level": ["1", "2", "3"],
Joel Goddard2dd81a12024-01-23 15:10:08 +00001131 "test_regression": ["OFF"],
1132 "test_psa_api": ["OFF"],
1133 "cmake_build_type": ["Debug", "Release"],
1134 "with_bl2": [True],
1135 "profile": [""],
Jamie Fox9283cbc2024-04-22 13:40:01 +01001136 "extra_params": ["NSOFF, CFG0"]
Joel Goddard2dd81a12024-01-23 15:10:08 +00001137 },
1138 "common_params": _common_tfm_builder_cfg,
1139 "invalid": _common_tfm_invalid_configs + []
1140 }
1141
Nicola Mazzucato75b76af2025-02-07 15:20:59 +00001142config_rse_rdv3r1 = {"seed_params": {
1143 "tfm_platform": ["arm/rse/neoverse_rd/rdv3r1"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001144 "compiler": ["GCC_13_2"],
Nicola Mazzucato75b76af2025-02-07 15:20:59 +00001145 "isolation_level": ["1", "2"],
1146 "test_regression": ["OFF"],
1147 "test_psa_api": ["OFF"],
1148 "cmake_build_type": ["Debug", "Release"],
1149 "with_bl2": [True],
1150 "profile": [""],
1151 "extra_params": ["NSOFF, CFG0"]
1152 },
1153 "common_params": _common_tfm_builder_cfg,
1154 "invalid": _common_tfm_invalid_configs + []
1155 }
1156
Ziad Elhanafy937333f2024-05-22 14:17:40 +01001157config_rse_rd1ae = {"seed_params": {
1158 "tfm_platform": ["arm/rse/automotive_rd/rd1ae"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001159 "compiler": ["GCC_13_2"],
Jamie Foxc5b9e6a2024-10-10 17:07:57 +01001160 "isolation_level": ["1", "2", "3"],
Ziad Elhanafy937333f2024-05-22 14:17:40 +01001161 "test_regression": ["OFF"],
1162 "test_psa_api": ["OFF"],
1163 "cmake_build_type": ["Debug", "Release"],
1164 "with_bl2": [True],
1165 "profile": [""],
1166 "extra_params": ["NSOFF"]
1167 },
1168 "common_params": _common_tfm_builder_cfg,
1169 "invalid": _common_tfm_invalid_configs + []
1170 }
1171
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001172config_psoc64 = {"seed_params": {
1173 "tfm_platform": ["cypress/psoc64"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001174 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001175 "isolation_level": ["1", "2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001176 "test_regression": ["RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001177 "test_psa_api": ["OFF"],
1178 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001179 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001180 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001181 "extra_params": [""]
1182 },
1183 "common_params": _common_tfm_builder_cfg,
1184 "invalid": _common_tfm_invalid_configs + []
1185 }
1186
1187config_corstone1000 = {"seed_params": {
1188 "tfm_platform": ["arm/corstone1000"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001189 "compiler": ["GCC_13_2"],
Xinyu Zhang5c4f2182023-10-31 16:26:45 +08001190 "isolation_level": ["1", "2"],
Emekcan Arasf8b39802023-04-24 10:15:22 +01001191 "test_regression": ["RegS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001192 "test_psa_api": ["OFF"],
Matthew Dalzellfc808ea2025-04-16 18:42:16 +01001193 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001194 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001195 "profile": [""],
Xinyu Zhang09acfbf2023-10-30 18:30:48 +08001196 "extra_params": ["NSOFF, CS1K_TEST, FVP", "NSOFF, CS1K_TEST, FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001197 },
1198 "common_params": _common_tfm_builder_cfg,
1199 "invalid": _common_tfm_invalid_configs + []
1200 }
1201
1202config_stm32l562e_dk = {"seed_params": {
1203 "tfm_platform": ["stm/stm32l562e_dk"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001204 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001205 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001206 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001207 "test_psa_api": ["OFF"],
1208 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001209 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001210 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001211 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
1212 },
1213 "common_params": _common_tfm_builder_cfg,
1214 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001215 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001216 ("stm/stm32l562e_dk", "ARMCLANG_6_21", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001217 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001218 # all other tests are off when CRYPTO is ON
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001219 ("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +08001220 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001221 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001222 ("stm/stm32l562e_dk", "*", "*", "OFF", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +08001223 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001224 ]
1225 }
1226
1227config_b_u585i_iot02a = {"seed_params": {
1228 "tfm_platform": ["stm/b_u585i_iot02a"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001229 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Arthur She026ebb62023-02-08 18:47:39 -08001230 "isolation_level": ["1", "2"],
Arthur She96c6f772023-05-09 21:32:50 -07001231 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001232 "test_psa_api": ["OFF"],
1233 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001234 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001235 "profile": [""],
Arthur She026ebb62023-02-08 18:47:39 -08001236 "extra_params": [""]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001237 },
1238 "common_params": _common_tfm_builder_cfg,
1239 "invalid": _common_tfm_invalid_configs + []
1240 }
1241
Anton Komlev4164ab62024-02-23 10:59:56 +01001242config_stm32h573i_dk = {"seed_params": {
1243 "tfm_platform": ["stm/stm32h573i_dk"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001244 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Anton Komlev4164ab62024-02-23 10:59:56 +01001245 "isolation_level": ["1", "2"],
1246 "test_regression": ["OFF", "RegS, RegNS"],
1247 "test_psa_api": ["OFF"],
1248 "cmake_build_type": ["Release"],
1249 "with_bl2": [True],
1250 "profile": [""],
1251 "extra_params": [""]
1252 },
1253 "common_params": _common_tfm_builder_cfg,
1254 "invalid": _common_tfm_invalid_configs + []
1255 }
1256
Matthew Dalzelld5325dd2025-04-17 14:46:10 +01001257config_stm32wba65i_dk = {"seed_params": {
1258 "tfm_platform": ["stm/stm32wba65i_dk"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001259 "compiler": ["GCC_13_2", "ARMCLANG_6_21"],
Matthew Dalzelld5325dd2025-04-17 14:46:10 +01001260 "isolation_level": ["1", "2"],
1261 "test_regression": ["OFF", "RegS, RegNS"],
1262 "test_psa_api": ["OFF"],
1263 "cmake_build_type": ["Release"],
1264 "with_bl2": [False],
1265 "profile": ["profile_small","profile_medium"],
1266 "extra_params": [""]
1267 },
1268 "common_params": _common_tfm_builder_cfg,
1269 "invalid": _common_tfm_invalid_configs + [
1270 ("stm/stm32wba65i_dk", "*", "2", "*",
1271 "*", "*", "*", "profile_small", "*"),
1272 ]
1273 }
1274
1275
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001276config_nucleo_l552ze_q = {"seed_params": {
1277 "tfm_platform": ["stm/nucleo_l552ze_q"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001278 "compiler": ["GCC_13_2"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001279 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001280 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001281 "test_psa_api": ["OFF"],
1282 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001283 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001284 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001285 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001286 },
1287 "common_params": _common_tfm_builder_cfg,
1288 "invalid": _common_tfm_invalid_configs + []
1289 }
1290
1291config_lpcxpresso55s69 = {"seed_params": {
1292 "tfm_platform": ["nxp/lpcxpresso55s69"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001293 "compiler": ["GCC_13_2"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001294 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001295 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001296 "test_psa_api": ["OFF"],
1297 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001298 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001299 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001300 "extra_params": [""]
1301 },
1302 "common_params": _common_tfm_builder_cfg,
1303 "invalid": _common_tfm_invalid_configs + []
1304 }
1305
Xinyu Zhang38b76742021-11-11 13:57:56 +08001306config_bl5340 = {"seed_params": {
1307 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001308 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001309 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001310 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001311 "test_psa_api": ["OFF"],
1312 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001313 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001314 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001315 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001316 },
1317 "common_params": _common_tfm_builder_cfg,
1318 "invalid": _common_tfm_invalid_configs + []
1319 }
1320
1321config_nrf5340dk = {"seed_params": {
1322 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001323 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001324 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001325 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001326 "test_psa_api": ["OFF"],
1327 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001328 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001329 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001330 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001331 },
1332 "common_params": _common_tfm_builder_cfg,
1333 "invalid": _common_tfm_invalid_configs + []
1334 }
1335
1336config_nrf9160dk = {"seed_params": {
1337 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001338 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001339 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001340 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001341 "test_psa_api": ["OFF"],
1342 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001343 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001344 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001345 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001346 },
1347 "common_params": _common_tfm_builder_cfg,
1348 "invalid": _common_tfm_invalid_configs + []
1349 }
1350
1351config_m2351 = {"seed_params": {
1352 "tfm_platform": ["nuvoton/m2351"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001353 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001354 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001355 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001356 "test_psa_api": ["OFF"],
1357 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001358 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001359 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001360 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001361 },
1362 "common_params": _common_tfm_builder_cfg,
1363 "invalid": _common_tfm_invalid_configs + []
1364 }
1365
1366config_m2354 = {"seed_params": {
1367 "tfm_platform": ["nuvoton/m2354"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001368 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001369 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001370 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001371 "test_psa_api": ["OFF"],
1372 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001373 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001374 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +08001375 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001376 },
1377 "common_params": _common_tfm_builder_cfg,
1378 "invalid": _common_tfm_invalid_configs + []
1379 }
1380
Dávid Házi0bd447f2024-10-24 19:44:31 +00001381config_rp2350 = {"seed_params": {
1382 "tfm_platform": ["rpi/rp2350"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001383 "compiler": ["GCC_13_2"],
Dávid Házi0bd447f2024-10-24 19:44:31 +00001384 "isolation_level": ["2"],
1385 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
1386 "test_psa_api": ["OFF"],
1387 "cmake_build_type": ["RelWithDebInfo", "Release"],
1388 "with_bl2": [True],
Nicola Mazzucato4bad6c62024-10-28 14:42:17 +00001389 "profile": ["profile_medium"],
Dávid Házi0bd447f2024-10-24 19:44:31 +00001390 "extra_params": [""]
1391 },
1392 "common_params": _common_tfm_builder_cfg,
1393 "invalid": _common_tfm_invalid_configs + []
1394 }
1395
Jianliang Shen48704152023-10-17 17:06:00 +08001396config_mem_footprint = {"seed_params": {
1397 "tfm_platform": ["arm/mps2/an521"],
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001398 "compiler": ["ARMCLANG_6_21"],
Jianliang Shen48704152023-10-17 17:06:00 +08001399 "isolation_level": ["1"],
1400 "test_regression": ["OFF"],
1401 "test_psa_api": ["OFF"],
1402 "cmake_build_type": ["Minsizerel"],
1403 "with_bl2": [True],
1404 "profile": [""],
1405 "extra_params": [""]
1406 },
1407 "common_params": _common_tfm_builder_cfg,
1408 "valid": [
1409 # AN521_ARMCLANG_1_Minsizerel_BL2_SMALL_PSOFF
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001410 ("arm/mps2/an521", "ARMCLANG_6_21", "1",
Jianliang Shen48704152023-10-17 17:06:00 +08001411 "OFF", "OFF", "Minsizerel", True, "profile_small", "PSOFF"),
1412 # AN521_ARMCLANG_2_Minsizerel_BL2_MEDIUM_PSOFF
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001413 ("arm/mps2/an521", "ARMCLANG_6_21", "2",
Jianliang Shen48704152023-10-17 17:06:00 +08001414 "OFF", "OFF", "Minsizerel", True, "profile_medium", "PSOFF"),
1415 # AN521_ARMCLANG_3_Minsizerel_BL2_LARGE_PSOFF
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001416 ("arm/mps2/an521", "ARMCLANG_6_21", "3",
Jianliang Shen48704152023-10-17 17:06:00 +08001417 "OFF", "OFF", "Minsizerel", True, "profile_large", "PSOFF"),
1418 ],
1419 "invalid": _common_tfm_invalid_configs + []
1420 }
1421
Jianliang Shen5492f752023-07-27 15:59:01 +08001422config_prof = {"seed_params": {
1423 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001424 "compiler": ["GCC_13_2"],
Jianliang Shen5492f752023-07-27 15:59:01 +08001425 "isolation_level": ["1"],
1426 "test_regression": ["OFF"],
1427 "test_psa_api": ["OFF"],
1428 "cmake_build_type": ["Release"],
1429 "with_bl2": [True],
1430 "profile": [""],
1431 "extra_params": ["PROF"]
1432 },
1433 "common_params": _common_tfm_builder_cfg,
1434 "valid": [
1435 # AN521_GNUARM_1_Release_BL2_IPC_PROF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001436 ("arm/mps2/an521", "GCC_13_2", "1",
Jianliang Shen5492f752023-07-27 15:59:01 +08001437 "OFF", "OFF", "Release", True, "", "IPC, PROF"),
1438 # AN521_GNUARM_2_Release_BL2_PROF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001439 ("arm/mps2/an521", "GCC_13_2", "2",
Jianliang Shen5492f752023-07-27 15:59:01 +08001440 "OFF", "OFF", "Release", True, "", "PROF"),
1441 # AN521_GNUARM_3_Release_BL2_PROF
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001442 ("arm/mps2/an521", "GCC_13_2", "3",
Jianliang Shen5492f752023-07-27 15:59:01 +08001443 "OFF", "OFF", "Release", True, "", "PROF"),
1444 ],
1445 "invalid": _common_tfm_invalid_configs + []
1446 }
1447
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001448# Config groups for debug
1449config_debug = {"seed_params": {
1450 "tfm_platform": ["arm/mps2/an521"],
Matthew Dalzelle719a1c2025-06-06 14:19:51 +01001451 "compiler": ["GCC_13_2"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001452 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001453 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001454 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001455 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001456 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001457 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001458 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001459 },
1460 "common_params": _common_tfm_builder_cfg,
1461 "invalid": _common_tfm_invalid_configs + []
1462 }
1463
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001464config_debug_regr = deepcopy(config_debug)
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001465config_debug_regr["seed_params"]["test_regression"] = ["RegBL2, RegS, RegNS"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001466
1467config_debug_PSA_API = {"seed_params": {
1468 "tfm_platform": ["arm/mps2/an521"],
Paul Sokolovsky253ed722023-11-07 11:08:46 +03001469 "compiler": ["ARMCLANG_6_21"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001470 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001471 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001472 "test_psa_api": ["CRYPTO",
1473 "INITIAL_ATTESTATION",
1474 "STORAGE",
1475 "IPC"],
1476 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001477 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001478 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001479 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001480 },
1481 "common_params": _common_tfm_builder_cfg,
1482 "invalid": _common_tfm_invalid_configs + []
1483 }
1484
Matthew Dalzell06e8f692024-11-09 00:55:06 +00001485
1486
Karl Zhangaff558a2020-05-15 14:28:23 +01001487_builtin_configs = {
Xinyu Zhang5c4f2182023-10-31 16:26:45 +08001488 # per-patch test group
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001489 "pp_test": config_pp_test,
Karl Zhang14573bc2020-06-08 09:23:21 +08001490
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001491 # nightly test groups
1492 "nightly_test": config_nightly_test,
1493 "nightly_profile_s": config_profile_s,
1494 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001495 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001496 "nightly_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001497 "nightly_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001498 "nightly_cc_driver_psa": config_cc_driver_psa,
Antonio de Angelis9d7f0842025-06-27 22:23:51 +01001499 "nightly_cc3xx_runtime_enabled": config_cc3xx_runtime_enabled,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001500 "nightly_fp":config_fp,
1501 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +08001502 "nightly_nsce": config_nsce,
1503 "nightly_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001504 "nightly_cs300_an547": config_cs300_an547,
1505 "nightly_cs300_an552": config_cs300_an552,
1506 "nightly_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001507 "nightly_corstone310": config_corstone310,
Nicola Mazzucatobde5d432024-05-20 11:43:18 +01001508 "nightly_corstone310_pacbti" : config_corstone310_pacbti,
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001509 "nightly_corstone315": config_corstone315,
Gergely Korcsák78a4d142024-08-05 07:41:36 +02001510 "nightly_corstone320": config_corstone320,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001511 "nightly_corstone1000": config_corstone1000,
Antonio de Angelis78a01fc2025-02-06 11:11:25 +00001512 #"nightly_rse_tc3": config_rse_tc3,
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001513 "nightly_rse_tc4": config_rse_tc4,
Ishan Deshpande80d840e2025-01-09 18:46:56 +05301514 "nightly_rse_rdv3": config_rse_rdv3,
Nicola Mazzucato75b76af2025-02-07 15:20:59 +00001515 "nightly_rse_rdv3r1": config_rse_rdv3r1,
Ziad Elhanafy937333f2024-05-22 14:17:40 +01001516 "nightly_rse_rd1ae": config_rse_rd1ae,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001517 "nightly_psoc64": config_psoc64,
Anton Komlev55c3c022024-03-05 16:24:17 +01001518 "nightly_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001519 "nightly_b_u585i_iot02a": config_b_u585i_iot02a,
Anton Komlev4164ab62024-02-23 10:59:56 +01001520 "nightly_stm32h573i_dk": config_stm32h573i_dk,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001521 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Dávid Házi0bd447f2024-10-24 19:44:31 +00001522 "nightly_rp2350": config_rp2350,
Matthew Dalzell06e8f692024-11-09 00:55:06 +00001523 "nightly_all_plat": config_all_plat,
Karl Zhang14573bc2020-06-08 09:23:21 +08001524
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001525 # release test groups
1526 "release_test": config_release_test,
1527 "release_profile_s": config_profile_s,
1528 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001529 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001530 "release_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001531 "release_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001532 "release_cc_driver_psa": config_cc_driver_psa,
1533 "release_fp": config_fp,
1534 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001535 "release_nsce": config_nsce,
1536 "release_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001537 "release_cs300_an547": config_cs300_an547,
1538 "release_cs300_an552": config_cs300_an552,
1539 "release_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001540 "release_corstone310": config_corstone310,
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001541 "release_corstone315": config_corstone315,
Gergely Korcsák78a4d142024-08-05 07:41:36 +02001542 "release_corstone320": config_corstone320,
Antonio de Angelis78a01fc2025-02-06 11:11:25 +00001543 #"release_rse_tc3": config_rse_tc3,
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001544 "release_rse_tc4": config_rse_tc4,
Ishan Deshpande80d840e2025-01-09 18:46:56 +05301545 "release_rse_rdv3": config_rse_rdv3,
Nicola Mazzucato75b76af2025-02-07 15:20:59 +00001546 "release_rse_rdv3r1": config_rse_rdv3r1,
Ziad Elhanafy937333f2024-05-22 14:17:40 +01001547 "release_rse_rd1ae": config_rse_rd1ae,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001548 "release_psoc64": config_psoc64,
Anton Komlev55c3c022024-03-05 16:24:17 +01001549 "release_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001550 "release_b_u585i_iot02a": config_b_u585i_iot02a,
Anton Komlev4164ab62024-02-23 10:59:56 +01001551 "release_stm32h573i_dk": config_stm32h573i_dk,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001552 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Dávid Házi0bd447f2024-10-24 19:44:31 +00001553 "release_rp2350": config_rp2350,
Karl Zhang14573bc2020-06-08 09:23:21 +08001554
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001555 # code coverage test groups
1556 "coverage_profile_s": config_cov_profile_s,
1557 "coverage_profile_m": config_cov_profile_m,
1558 "coverage_profile_l": config_cov_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001559 "coverage_ipc_backend": config_cov_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001560 "coverage_nsce": config_cov_nsce,
1561 "coverage_mmio": config_cov_mmio,
Xinyu Zhang5f725ee2022-12-19 10:29:20 +08001562 "coverage_fp": config_cov_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +08001563
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001564 # MISRA analysis
1565 "misra": config_misra,
Paul Sokolovskya526e5d2023-06-15 09:49:13 +03001566 "misra_debug": config_misra_debug,
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001567
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001568 # platform groups
1569 "an521": config_an521,
1570 "an519": config_an519,
1571 "an524": config_an524,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001572 "cs300_an547": config_cs300_an547,
1573 "cs300_an552": config_cs300_an552,
1574 "cs300_fvp": config_cs300_fvp,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001575 "musca_b1": config_musca_b1,
Antonio de Angelis9a3bd142025-06-27 21:37:31 +01001576 "musca_b1_nsoff": config_musca_b1_nsoff,
Bence Balogh8731a092022-05-24 17:24:54 +02001577 "corstone310": config_corstone310,
Gergely Korcsákba0c5212024-04-03 18:21:49 +02001578 "corstone315": config_corstone315,
Gergely Korcsák78a4d142024-08-05 07:41:36 +02001579 "corstone320": config_corstone320,
Antonio de Angelis78a01fc2025-02-06 11:11:25 +00001580 #"rse_tc3": config_rse_tc3,
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +00001581 "rse_tc4": config_rse_tc4,
Ishan Deshpande80d840e2025-01-09 18:46:56 +05301582 "rse_rdv3": config_rse_rdv3,
Nicola Mazzucato75b76af2025-02-07 15:20:59 +00001583 "rse_rdv3r1": config_rse_rdv3r1,
Ziad Elhanafy937333f2024-05-22 14:17:40 +01001584 "rse_rd1ae": config_rse_rd1ae,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001585 "cypress_psoc64": config_psoc64,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001586 "corstone1000": config_corstone1000,
Anton Komlev55c3c022024-03-05 16:24:17 +01001587 "stm_stm32l562e_dk": config_stm32l562e_dk,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001588 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
Anton Komlev4164ab62024-02-23 10:59:56 +01001589 "stm_stm32h573i_dk": config_stm32h573i_dk,
Matthew Dalzelld5325dd2025-04-17 14:46:10 +01001590 "stm_stm32wba65i_dk" : config_stm32wba65i_dk,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001591 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
1592 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001593 "laird_bl5340": config_bl5340,
1594 "nordic_nrf5340dk": config_nrf5340dk,
1595 "nordic_nrf9160dk": config_nrf9160dk,
1596 "nuvoton_m2351": config_m2351,
1597 "nuvoton_m2354": config_m2354,
Dávid Házi0bd447f2024-10-24 19:44:31 +00001598 "rp2350": config_rp2350,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001599
Bence Balogh79fda442022-10-14 18:01:37 +02001600 # config groups for tf-m-extras examples
1601 "example_vad": config_example_vad,
1602 "example_dma350_trigger": config_example_dma350_trigger,
Bence Balogh852f8bd2023-08-07 14:46:54 +02001603 "example_dma350_clcd": config_example_dma350_clcd,
Bence Balogh79fda442022-10-14 18:01:37 +02001604 "example_dma350_s": config_example_dma350_s,
Bence Baloghd23cbda2023-08-07 15:30:58 +02001605 "example_dma350_ns": config_example_dma350_ns,
Bence Balogh79fda442022-10-14 18:01:37 +02001606
Jianliang Shen48704152023-10-17 17:06:00 +08001607 # config groups for tf-m performance monitor
1608 "mem_footprint": config_mem_footprint,
Jianliang Shen5492f752023-07-27 15:59:01 +08001609 "profiling": config_prof,
1610
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001611 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +00001612 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +03001613 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +03001614 "debug_PSA_API": config_debug_PSA_API,
Nicola Mazzucatoe932bd72025-04-14 17:11:10 +01001615
1616 # groups for build-only
1617 "rse_build_only": config_rse_build_only,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001618 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001619
1620if __name__ == '__main__':
1621 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001622
Nicola Mazzucato935f9cb2025-05-16 17:21:07 +01001623 # Default behavior is to export reference config when called
Minos Galanakisea421232019-06-20 17:11:28 +01001624 _dir = os.getcwd()
1625 from utils import save_json
1626 for _cname, _cfg in _builtin_configs.items():
1627 _fname = os.path.join(_dir, _cname + ".json")
1628 print("Exporting config %s" % _fname)
1629 save_json(_fname, _cfg)