blob: ebe61ae50f717bf67aec482dd91227bc31d379c3 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001#!/usr/bin/env python3
2
3""" builtin_configs.py:
4
5 Default configuration files used as reference """
6
7from __future__ import print_function
8
9__copyright__ = """
10/*
Jamie Fox9e2c2352023-01-13 15:11:23 +000011 * Copyright (c) 2018-2023, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
Karl Zhang08681e62020-10-30 13:56:03 +080017
18__author__ = "tf-m@lists.trustedfirmware.org"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010019__project__ = "Trusted Firmware-M Open CI"
Xinyu Zhang06286a92021-07-22 14:00:51 +080020__version__ = "1.4.0"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010021
Paul Sokolovsky3e8fce02022-04-07 01:23:30 +030022from copy import deepcopy
23
24
Minos Galanakisea421232019-06-20 17:11:28 +010025# common parameters for tf-m build system
26# This configuration template will be passed into the tfm-builder module after
27# the template evaluation is converted to a command
28
29_common_tfm_builder_cfg = {
30 "config_type": "tf-m",
31 "codebase_root_dir": "tf-m",
32 # Order to which the variants are evaluated. This affects the name of
33 # variant configuration and the wildcard replacement logic in invalid
34 # configuration tuples
Xinyu Zhangb708f572020-09-15 11:43:46 +080035 "sort_order": ["tfm_platform",
Xinyu Zhang433771e2022-04-01 16:49:17 +080036 "compiler",
Xinyu Zhangb708f572020-09-15 11:43:46 +080037 "isolation_level",
38 "test_regression",
39 "test_psa_api",
Minos Galanakisea421232019-06-20 17:11:28 +010040 "cmake_build_type",
Xinyu Zhangb708f572020-09-15 11:43:46 +080041 "with_bl2",
Xinyu Zhang9fd74242020-10-22 11:30:50 +080042 "profile",
Xinyu Zhangfd2e1152021-12-17 18:09:01 +080043 "extra_params"],
Minos Galanakisea421232019-06-20 17:11:28 +010044
45 # Keys for the templace will come from the combinations of parameters
46 # provided in the seed dictionary.
47
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080048 "spe_config_template": "cmake -G Ninja " + \
49 "-S %(tfm_tests_root_dir)s/%(test_root_dir)s/spe " + \
50 "-B %(ci_build_root_dir)s/spe " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080051 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang433771e2022-04-01 16:49:17 +080052 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)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 Zhangdc3b4ca2023-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 " + \
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080065 "-DTFM_EXTRAS_REPO_PATH=%(codebase_root_dir)s/../tf-m-extras ",
66
67 "nspe_config_template": "cmake -G Ninja " + \
68 "-S %(tfm_tests_root_dir)s/%(test_root_dir)s " + \
69 "-B %(ci_build_root_dir)s/nspe " + \
70 "-DCONFIG_SPE_PATH=%(ci_build_root_dir)s/spe/api_ns " + \
71 "%(extra_params)s " + \
72 "-DQCBOR_PATH=%(codebase_root_dir)s/../qcbor ",
73
74 # CMake build commands will be executed for every build.
75 "spe_cmake_build": "cmake --build %(ci_build_root_dir)s/spe -- install",
76 "nspe_cmake_build": "cmake --build %(ci_build_root_dir)s/nspe -- tfm_app_binaries",
Karl Zhangaff558a2020-05-15 14:28:23 +010077
Xinyu Zhang433771e2022-04-01 16:49:17 +080078 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
79
Minos Galanakisea421232019-06-20 17:11:28 +010080 # A small subset of string substitution params is allowed in commands.
81 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
82 # _tbm_target_platform_ with the paths set when building
83
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080084 "artifact_capture_rex": (r'%(ci_build_root_dir)s/nspe'
Minos Galanakisea421232019-06-20 17:11:28 +010085 r'/(\w+\.(?:axf|bin|hex))$'),
86
Xinyu Zhang46b37182023-06-30 15:36:44 +080087 # Keys will append extra commands when matching target_platform
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080088 "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;"
89 "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=40960;"
90 "../platform/ext/target/arm/corstone1000/create-flash-image.sh %(ci_build_root_dir)s/spe/bin/ cs1000.bin;"),
Emekcan Aras6df7d552023-08-15 09:54:42 +010091 "arm/musca_b1": ("srec_cat "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080092 "%(ci_build_root_dir)s/spe/bin/"
Mark Horvathef57baa2022-09-12 13:36:36 +020093 "bl2.bin "
94 "-Binary -offset 0xA000000 "
95 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +080096 "%(ci_build_root_dir)s/nspe/"
Mark Horvathef57baa2022-09-12 13:36:36 +020097 "tfm_s_ns_signed.bin "
98 "-Binary -offset 0xA020000 "
99 "-fill 0xFF 0xA020000 0xA200000 "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800100 "-o %(ci_build_root_dir)s/"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800101 "tfm.hex -Intel"),
102 "arm/musca_s1": ("srec_cat "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800103 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800104 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +0800105 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +0000106 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800107 "%(ci_build_root_dir)s/nspe/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800108 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +0000109 "-Binary -offset 0xA020000 "
110 "-fill 0xFF 0xA020000 0xA200000 "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800111 "-o %(ci_build_root_dir)s/"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800112 "tfm.hex -Intel"),
113 "stm/stm32l562e_dk": ("echo 'STM32L562E-DK board post process';"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800114 # TODO: Confirm the path of postbuild.sh
115 "%(ci_build_root_dir)s/spe/postbuild.sh;"
116 "pushd %(ci_build_root_dir)s/spe;"
Arthur She07c91b52021-07-15 15:03:10 -0700117 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
118 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800119 "popd"),
120 "stm/b_u585i_iot02a": ("echo 'STM32U5 board post process';"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800121 # TODO: Confirm the path of postbuild.sh
122 "%(ci_build_root_dir)s/spe/postbuild.sh;"
123 "pushd %(ci_build_root_dir)s/spe;"
Arthur She026ebb62023-02-08 18:47:39 -0800124 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
125 "tar jcf ./bin/b_u585i_iot02a-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800126 "popd"),
127 "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 board post process\n';"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800128 "if [ -f \"%(ci_build_root_dir)s/spe/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
129 "pushd%(codebase_root_dir)s/platform/ext/target/nxp/lpcxpresso55s69/scripts;"
Arthur She3c0dadd2021-11-18 21:17:48 -0800130 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
131 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
132 "python3 ./${FLASH_FILE};"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800133 # TODO: Confirm which bin is needed? SPE or NSPE?
134 "cd %(ci_build_root_dir)s/spe/bin;"
Arthur She3c0dadd2021-11-18 21:17:48 -0800135 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
136 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800137 "popd"),
138 "cypress/psoc64": ("echo 'Sign binaries for Cypress PSoC64 platform';"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800139 "pushd %(codebase_root_dir)s/;"
Arthur She87602dc2022-02-06 14:42:18 -0800140 "sudo /usr/local/bin/cysecuretools "
141 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
142 "--target cy8ckit-064s0s2-4343w "
143 "sign-image "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800144 "--hex %(ci_build_root_dir)s/spe/bin/tfm_s.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800145 "--image-type BOOT --image-id 1;"
146 "sudo /usr/local/bin/cysecuretools "
147 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
148 "--target cy8ckit-064s0s2-4343w "
149 "sign-image "
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800150 "--hex %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800151 "--image-type BOOT --image-id 16;"
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800152 "mv %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(ci_build_root_dir)s/spe/bin/tfm_s_signed.hex;"
153 "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 +0800154 "popd")
Minos Galanakisea421232019-06-20 17:11:28 +0100155 },
156
157 # (Optional) If set will fail if those artefacts are missing post build
158 "required_artefacts": {"all": [
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800159 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800160 "tfm_s.bin",
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800161 "%(ci_build_root_dir)s/nspe/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800162 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200163 "arm/musca_b1": [
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800164 "%(ci_build_root_dir)s/tfm.hex",
165 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800166 "bl2.bin",
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800167 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800168 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800169 "arm/musca_s1": [
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800170 "%(ci_build_root_dir)s/tfm.hex",
171 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800172 "bl2.bin",
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800173 "%(ci_build_root_dir)s/spe/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800174 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100175 }
176}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100177
Xinyu Zhangb708f572020-09-15 11:43:46 +0800178# List of all build configs that are impossible under all circumstances
179_common_tfm_invalid_configs = [
Xinyu Zhang459a1982021-07-21 22:34:49 +0800180 # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800181 ("arm/musca_b1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
182 ("arm/musca_s1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800183 # Load range overlap on Musca for IPC Debug type: T895
Summer Qin379abb62022-10-08 16:41:54 +0800184 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
185 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300186 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800187 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800188 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800189 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
190 ("arm/musca_s1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800191 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800192 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
193 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
194 ("arm/musca_s1", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800195 ]
196
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100197# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800198# Config group for per-patch job
199config_pp_test = {"seed_params": {
Kevin Peng630b2942023-10-17 11:16:57 +0800200 # AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
201 "tfm_platform": ["arm/mps2/an519"],
202 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800203 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800204 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800205 "test_psa_api": ["OFF"],
206 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800207 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800208 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800209 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800210 },
211 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800212 "valid": [
Kevin Peng630b2942023-10-17 11:16:57 +0800213 # AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
214 ("arm/mps2/an519", "ARMCLANG_6_13", "2",
215 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
216 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
217 ("arm/mps2/an519", "GCC_10_3", "1",
218 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
219 # AN519_GCC_2_RegBL2_RegS_RegNS_Release_BL2
220 ("arm/mps2/an519", "GCC_10_3", "2",
221 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
222 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
223 ("arm/mps2/an519", "GCC_10_3", "1",
224 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
225 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
226 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
227 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
228 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
229 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
230 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
231 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_IPC
232 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
233 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "IPC"),
234 # AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
235 ("arm/mps2/an521", "ARMCLANG_6_13", "2",
236 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
237 # AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
238 ("arm/mps2/an521", "ARMCLANG_6_13", "3",
239 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
240 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
241 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
242 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800243 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800244 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800245 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800246 # AN521_GCC_2_Debug_BL2_MEDIUM
247 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800248 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_medium", ""),
249 # AN521_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800250 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800251 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
252 # AN521_GCC_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800253 ("arm/mps2/an521", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800254 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
255 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800256 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800257 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Kevin Peng630b2942023-10-17 11:16:57 +0800258 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Debug_BL2
259 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800260 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Kevin Peng630b2942023-10-17 11:16:57 +0800261 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Release_BL2
262 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800263 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
Kevin Peng630b2942023-10-17 11:16:57 +0800264 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Minsizerel_BL2
Xinyu Zhangdc3b4ca2023-08-15 17:43:51 +0800265 ("arm/musca_b1", "GCC_10_3", "1",
Kevin Peng630b2942023-10-17 11:16:57 +0800266 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
267 # MUSCA_S1_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
268 ("arm/musca_s1", "ARMCLANG_6_13", "2",
269 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
270 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800271 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800272 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Kevin Peng630b2942023-10-17 11:16:57 +0800273 # MUSCA_S1_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800274 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800275 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
Kevin Peng630b2942023-10-17 11:16:57 +0800276 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800277 ("arm/musca_s1", "GCC_10_3", "1",
Kevin Peng630b2942023-10-17 11:16:57 +0800278 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
279 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Release_BL2_CC_DRIVER_PSA
Summer Qin379abb62022-10-08 16:41:54 +0800280 ("arm/musca_s1", "GCC_10_3", "1",
Kevin Peng630b2942023-10-17 11:16:57 +0800281 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CC_DRIVER_PSA"),
282 # RSS_TC_GCC_2_Release_BL2_PSOFF
283 ("arm/rss/tc", "GCC_10_3", "2",
284 "RegS, RegNS", "OFF", "Release", True, "", "PSOFF"),
285 # stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
286 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
287 "RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
288 # stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
289 ("stm/stm32l562e_dk", "GCC_10_3", "2",
290 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
291 # stm32l562e_dk_GCC_3_RegS_RegNS_Release_BL2_CRYPTO_OFF
292 ("stm/stm32l562e_dk", "GCC_10_3", "3",
293 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
294 # b_u585i_iot02a_GCC_1_RegS_RegNS_Release_BL2
295 ("stm/b_u585i_iot02a", "GCC_10_3", "1",
296 "RegS, RegNS", "OFF", "Release", True, "", ""),
297 # b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
298 ("stm/b_u585i_iot02a", "ARMCLANG_6_13", "2",
299 "RegS, RegNS", "OFF", "Release", True, "", ""),
300 # psoc64_GCC_2_RegS_RegNS_Release
301 ("cypress/psoc64", "GCC_10_3", "2",
302 "RegS, RegNS", "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800303 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800304 "invalid": _common_tfm_invalid_configs + []
305 }
306
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800307# Config group for nightly job
308config_nightly_test = {"seed_params": {
309 "tfm_platform": ["arm/mps2/an519",
310 "arm/mps2/an521",
311 "arm/mps3/an524",
312 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200313 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800314 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800315 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800316 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800317 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800318 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800319 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800320 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800321 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100322 },
323 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800324 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100325 }
326
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800327# Config group for release job
328config_release_test = {"seed_params": {
329 "tfm_platform": ["arm/mps2/an519",
330 "arm/mps2/an521",
331 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200332 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800333 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800334 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800335 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800336 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800337 "test_psa_api": ["OFF"],
338 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800339 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800340 "profile": [""],
David Vinczed78e2622022-11-24 15:04:00 +0100341 "extra_params": ["TEST_CBOR"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800342 },
343 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800344 "valid": [
345 # sanity test for GCC v11.2
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800346 # AN521_GCC_3_RegBL2_RegS_RegNS_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800347 ("arm/mps2/an521", "GCC_11_2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800348 "3", "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800349 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800350 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800351 "invalid": _common_tfm_invalid_configs + []
352 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800353
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800354# Config groups for TF-M features
355config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800356 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800357 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800358 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800359 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Huda27ae72022-03-28 15:32:19 +0800360 "test_psa_api": ["OFF"],
361 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800362 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800363 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800364 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800365 },
366 "common_params": _common_tfm_builder_cfg,
David Huda27ae72022-03-28 15:32:19 +0800367 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800368 ("arm/mps2/an519", "GCC_10_3", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800369 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800370 ]
371 }
372
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800373config_profile_m = {"seed_params": {
374 "tfm_platform": ["arm/mps2/an519",
375 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200376 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800377 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800378 "isolation_level": ["2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800379 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800380 "test_psa_api": ["OFF"],
381 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800382 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800383 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800384 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800385 },
386 "common_params": _common_tfm_builder_cfg,
387 "invalid": _common_tfm_invalid_configs + []
388 }
389
David Hu3d333762022-10-27 18:12:33 +0800390config_profile_m_arotless = {"seed_params": {
391 "tfm_platform": ["arm/musca_b1"],
392 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
393 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800394 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Hu3d333762022-10-27 18:12:33 +0800395 "test_psa_api": ["OFF"],
396 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
397 "with_bl2": [True],
398 "profile": ["profile_medium_arotless"],
399 "extra_params": ["", "PSOFF"]
400 },
401 "common_params": _common_tfm_builder_cfg,
402 "invalid": _common_tfm_invalid_configs + []
403 }
404
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800405config_profile_l = {"seed_params": {
406 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800407 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800408 "isolation_level": ["3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800409 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800410 "test_psa_api": ["OFF"],
411 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800412 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800413 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800414 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800415 },
416 "common_params": _common_tfm_builder_cfg,
417 "invalid": _common_tfm_invalid_configs + []
418 }
419
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800420config_ipc_backend = {"seed_params": {
421 "tfm_platform": ["arm/mps2/an519",
422 "arm/mps2/an521",
423 "arm/musca_s1",
424 "arm/musca_b1"],
425 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
426 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800427 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800428 "test_psa_api": ["OFF"],
429 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
430 "with_bl2": [True],
431 "profile": [""],
432 "extra_params": ["IPC"]
433 },
434 "common_params": _common_tfm_builder_cfg,
435 "invalid": _common_tfm_invalid_configs + []
436 }
437
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800438config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200439 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800440 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800441 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800442 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800443 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800444 "test_psa_api": ["OFF"],
445 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800446 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800447 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800448 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800449 },
450 "common_params": _common_tfm_builder_cfg,
451 "invalid": _common_tfm_invalid_configs + []
452 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100453
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800454config_fp = {"seed_params": {
Xinyu Zhange91567c2023-09-13 14:10:11 +0800455 "tfm_platform": ["arm/mps2/an521",
456 "arm/mps3/corstone300/an552",
457 "arm/mps3/corstone300/fvp"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800458 "compiler": ["GCC_10_3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800459 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800460 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800461 "test_psa_api": ["OFF"],
462 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800463 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800464 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200465 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800466 },
467 "common_params": _common_tfm_builder_cfg,
468 "invalid": _common_tfm_invalid_configs + []
469 }
Karl Zhangeffed972020-06-30 15:48:01 +0800470
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800471config_psa_api = {"seed_params": {
472 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200473 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800474 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800475 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800476 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800477 "test_regression": ["OFF"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800478 "test_psa_api": ["IPC",
479 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800480 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800481 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800482 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800483 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800484 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800485 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800486 },
487 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300488 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800489 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800490
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800491config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800492 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800493 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800494 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800495 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800496 "test_psa_api": ["OFF"],
497 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800498 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800499 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800500 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800501 },
502 "common_params": _common_tfm_builder_cfg,
503 "invalid": _common_tfm_invalid_configs + []
504 }
505
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800506config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800507 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800508 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800509 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800510 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800511 "test_psa_api": ["OFF"],
512 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800513 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800514 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800515 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800516 },
517 "common_params": _common_tfm_builder_cfg,
518 "invalid": _common_tfm_invalid_configs + []
519 }
520
Bence Balogh79fda442022-10-14 18:01:37 +0200521# Config groups for TF-M examples
522config_example_vad = {"seed_params": {
Bence Balogh1aa8d582023-08-29 13:10:02 +0200523 "tfm_platform": ["arm/mps3/corstone300/an552"],
Bence Balogh79fda442022-10-14 18:01:37 +0200524 "compiler": ["GCC_10_3"],
525 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800526 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200527 "test_psa_api": ["OFF"],
528 "cmake_build_type": ["Release"],
529 "with_bl2": [True],
530 "profile": [""],
531 "extra_params": ["EXAMPLE_VAD"]
532 },
533 "common_params": _common_tfm_builder_cfg,
534 "invalid": _common_tfm_invalid_configs + []
535 }
536
Bence Balogh852f8bd2023-08-07 14:46:54 +0200537config_example_dma350_clcd = {"seed_params": {
Bence Balogh79fda442022-10-14 18:01:37 +0200538 "tfm_platform": ["arm/mps3/corstone310/fvp"],
539 "compiler": ["GCC_10_3"],
540 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800541 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200542 "test_psa_api": ["OFF"],
543 "cmake_build_type": ["Release"],
544 "with_bl2": [True],
545 "profile": [""],
Bence Balogh852f8bd2023-08-07 14:46:54 +0200546 "extra_params": ["EXAMPLE_DMA350_CLCD"]
Bence Balogh79fda442022-10-14 18:01:37 +0200547 },
548 "common_params": _common_tfm_builder_cfg,
549 "invalid": _common_tfm_invalid_configs + []
550 }
551
552config_example_dma350_s = {"seed_params": {
553 "tfm_platform": ["arm/mps3/corstone310/fvp"],
554 "compiler": ["GCC_10_3"],
555 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800556 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200557 "test_psa_api": ["OFF"],
558 "cmake_build_type": ["Release"],
559 "with_bl2": [True],
560 "profile": [""],
561 "extra_params": ["EXAMPLE_DMA350_S"]
562 },
563 "common_params": _common_tfm_builder_cfg,
564 "invalid": _common_tfm_invalid_configs + []
565 }
566
Bence Baloghd23cbda2023-08-07 15:30:58 +0200567config_example_dma350_ns = {"seed_params": {
568 "tfm_platform": ["arm/mps3/corstone310/fvp"],
569 "compiler": ["GCC_10_3"],
570 "isolation_level": ["1"],
571 "test_regression": ["OFF"],
572 "test_psa_api": ["OFF"],
573 "cmake_build_type": ["Release"],
574 "with_bl2": [True],
575 "profile": [""],
576 "extra_params": ["EXAMPLE_DMA350_NS"]
577 },
578 "common_params": _common_tfm_builder_cfg,
579 "invalid": _common_tfm_invalid_configs + []
580 }
581
Bence Balogh79fda442022-10-14 18:01:37 +0200582config_example_dma350_trigger = {"seed_params": {
583 "tfm_platform": ["arm/mps3/corstone310/fvp"],
584 "compiler": ["GCC_10_3"],
585 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800586 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200587 "test_psa_api": ["OFF"],
588 "cmake_build_type": ["Release"],
589 "with_bl2": [True],
590 "profile": [""],
591 "extra_params": ["EXAMPLE_DMA350_TRIGGER"]
592 },
593 "common_params": _common_tfm_builder_cfg,
594 "invalid": _common_tfm_invalid_configs + []
595 }
596
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300597config_misra = {"seed_params": {
598 "tfm_platform": ["arm/musca_b1"],
599 "compiler": ["GCC_10_3"],
600 "isolation_level": ["1"],
601 "test_regression": ["OFF"],
602 "test_psa_api": ["OFF"],
603 "cmake_build_type": ["Debug"],
604 "with_bl2": [True],
Xinyu Zhange17926f2023-08-14 11:00:43 +0800605 "profile": ["profile_small", "profile_medium_arotless"],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300606 "extra_params": ["PSOFF"]
607 },
608 "common_params": _common_tfm_builder_cfg,
Xinyu Zhange17926f2023-08-14 11:00:43 +0800609 "valid": [
610 # MUSCA_B1_GCC_2_Debug_BL2_MEDIUM_PSOFF
611 ("arm/musca_b1", "GCC_10_3", "2", "OFF",
612 "OFF", "Debug", True, "profile_medium", "PSOFF"),
613 # MUSCA_B1_GCC_3_Debug_BL2_LARGE_PSOFF
614 ("arm/musca_b1", "GCC_10_3", "3", "OFF",
615 "OFF", "Debug", True, "profile_large", "PSOFF"),
616 ],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300617 "invalid": _common_tfm_invalid_configs + []
618 }
619
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300620config_misra_debug = {"seed_params": {
621 "tfm_platform": ["arm/musca_b1"],
622 "compiler": ["GCC_10_3"],
623 "isolation_level": ["1"],
624 "test_regression": ["OFF"],
625 "test_psa_api": ["OFF"],
626 "cmake_build_type": ["Debug"],
627 "with_bl2": [True],
628 "profile": ["profile_small"],
629 "extra_params": ["PSOFF"]
630 },
631 "common_params": _common_tfm_builder_cfg,
632 "invalid": _common_tfm_invalid_configs + []
633 }
634
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800635# Config groups for code coverage
636config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800637config_cov_profile_s["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800638config_cov_profile_s["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800639
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800640config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800641config_cov_profile_m["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800642config_cov_profile_m["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800643
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800644config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800645config_cov_profile_l["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800646config_cov_profile_l["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800647
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800648config_cov_ipc_backend = deepcopy(config_ipc_backend)
649config_cov_ipc_backend["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
650config_cov_ipc_backend["seed_params"]["compiler"] = ["GCC_10_3"]
651
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800652config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800653config_cov_nsce["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800654config_cov_nsce["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800655
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800656config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800657config_cov_mmio["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800658config_cov_mmio["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800659
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800660config_cov_fp = deepcopy(config_fp)
661config_cov_fp["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang778424e2023-02-27 11:39:57 +0800662config_cov_fp["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800663
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800664# Config groups for platforms
665config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800666 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800667 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800668 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800669 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800670 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800671 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800672 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800673 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800674 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800675 },
676 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800677 "invalid": _common_tfm_invalid_configs + []
678 }
679
680config_an521 = {"seed_params": {
681 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800682 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800683 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800684 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800685 "test_psa_api": ["OFF"],
686 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800687 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800688 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800689 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800690 },
691 "common_params": _common_tfm_builder_cfg,
692 "invalid": _common_tfm_invalid_configs + []
693 }
694
695config_an524 = {"seed_params": {
696 "tfm_platform": ["arm/mps3/an524"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800697 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800698 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800699 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800700 "test_psa_api": ["OFF"],
701 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800702 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800703 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800704 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800705 },
706 "common_params": _common_tfm_builder_cfg,
707 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800708 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000709
Bence Balogh1aa8d582023-08-29 13:10:02 +0200710config_cs300_an547 = {"seed_params": {
711 "tfm_platform": ["arm/mps3/corstone300/an547"],
712 "compiler": ["GCC_10_3"],
713 "isolation_level": ["1"],
714 "test_regression": ["OFF"],
715 "test_psa_api": ["OFF"],
716 "cmake_build_type": ["Debug"],
717 "with_bl2": [True],
718 "profile": [""],
719 "extra_params": [""]
720 },
721 "common_params": _common_tfm_builder_cfg,
722 "invalid": _common_tfm_invalid_configs + []
723 }
Xinyu Zhang38b76742021-11-11 13:57:56 +0800724
Bence Balogh1aa8d582023-08-29 13:10:02 +0200725config_cs300_an552 = {"seed_params": {
726 "tfm_platform": ["arm/mps3/corstone300/an552"],
727 "compiler": ["GCC_10_3"],
728 "isolation_level": ["1", "2"],
729 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
730 "test_psa_api": ["OFF"],
731 "cmake_build_type": ["Debug", "Release"],
732 "with_bl2": [True],
733 "profile": [""],
734 "extra_params": [""]
735 },
736 "common_params": _common_tfm_builder_cfg,
737 "invalid": _common_tfm_invalid_configs + []
738 }
739
740config_cs300_fvp = {"seed_params": {
741 "tfm_platform": ["arm/mps3/corstone300/fvp"],
742 "compiler": ["GCC_10_3"],
743 "isolation_level": ["1", "2"],
744 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
745 "test_psa_api": ["OFF"],
746 "cmake_build_type": ["Debug", "Release"],
747 "with_bl2": [True],
748 "profile": [""],
749 "extra_params": [""]
750 },
751 "common_params": _common_tfm_builder_cfg,
752 "invalid": _common_tfm_invalid_configs + []
753 }
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800754
755config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200756 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800757 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800758 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800759 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800760 "test_psa_api": ["OFF"],
761 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800762 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800763 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800764 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800765 },
766 "common_params": _common_tfm_builder_cfg,
767 "invalid": _common_tfm_invalid_configs + []
768 }
769
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800770config_musca_s1 = {"seed_params": {
771 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800772 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800773 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800774 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800775 "test_psa_api": ["OFF"],
776 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800777 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800778 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800779 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800780 },
781 "common_params": _common_tfm_builder_cfg,
782 "invalid": _common_tfm_invalid_configs + []
783 }
784
Bence Balogh8731a092022-05-24 17:24:54 +0200785config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +0100786 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100787 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800788 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800789 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800790 "test_psa_api": ["OFF"],
791 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800792 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800793 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800794 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800795 },
796 "common_params": _common_tfm_builder_cfg,
797 "invalid": _common_tfm_invalid_configs + []
798 }
799
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100800config_rss = {"seed_params": {
Raef Coles0d405852022-10-21 10:52:50 +0100801 "tfm_platform": ["arm/rss/tc"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100802 "compiler": ["GCC_10_3"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100803 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800804 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100805 "test_psa_api": ["OFF"],
806 "cmake_build_type": ["Debug", "Release"],
807 "with_bl2": [True],
808 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800809 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100810 },
811 "common_params": _common_tfm_builder_cfg,
Jamie Fox9e2c2352023-01-13 15:11:23 +0000812 "invalid": _common_tfm_invalid_configs + [
813 # BL2 is too large for RSS in Debug builds with tests
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800814 ("arm/rss/tc", "GCC_10_3", "*", "RegBL2, RegS, RegNS", "*",
Jamie Fox9e2c2352023-01-13 15:11:23 +0000815 "Debug", True, "*", "*"),
816 ]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100817 }
818
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800819config_psoc64 = {"seed_params": {
820 "tfm_platform": ["cypress/psoc64"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800821 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800822 "isolation_level": ["1", "2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800823 "test_regression": ["RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800824 "test_psa_api": ["OFF"],
825 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800826 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800827 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800828 "extra_params": [""]
829 },
830 "common_params": _common_tfm_builder_cfg,
831 "invalid": _common_tfm_invalid_configs + []
832 }
833
834config_corstone1000 = {"seed_params": {
835 "tfm_platform": ["arm/corstone1000"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800836 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800837 "isolation_level": ["1"],
Emekcan Arasf8b39802023-04-24 10:15:22 +0100838 "test_regression": ["RegS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800839 "test_psa_api": ["OFF"],
840 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800841 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800842 "profile": [""],
Xinyu Zhang4fb2b5c2023-04-25 11:55:19 +0800843 "extra_params": ["CS1K_TEST, FVP", "CS1K_TEST, FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800844 },
845 "common_params": _common_tfm_builder_cfg,
846 "invalid": _common_tfm_invalid_configs + []
847 }
848
849config_stm32l562e_dk = {"seed_params": {
850 "tfm_platform": ["stm/stm32l562e_dk"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800851 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800852 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800853 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800854 "test_psa_api": ["OFF"],
855 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800856 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800857 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800858 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
859 },
860 "common_params": _common_tfm_builder_cfg,
861 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800862 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800863 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800864 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800865 # all other tests are off when CRYPTO is ON
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800866 ("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800867 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800868 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800869 ("stm/stm32l562e_dk", "*", "*", "OFF", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800870 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800871 ]
872 }
873
874config_b_u585i_iot02a = {"seed_params": {
875 "tfm_platform": ["stm/b_u585i_iot02a"],
Arthur She026ebb62023-02-08 18:47:39 -0800876 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
877 "isolation_level": ["1", "2"],
Arthur She96c6f772023-05-09 21:32:50 -0700878 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800879 "test_psa_api": ["OFF"],
880 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800881 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800882 "profile": [""],
Arthur She026ebb62023-02-08 18:47:39 -0800883 "extra_params": [""]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800884 },
885 "common_params": _common_tfm_builder_cfg,
886 "invalid": _common_tfm_invalid_configs + []
887 }
888
889config_nucleo_l552ze_q = {"seed_params": {
890 "tfm_platform": ["stm/nucleo_l552ze_q"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800891 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800892 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800893 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800894 "test_psa_api": ["OFF"],
895 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800896 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800897 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800898 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800899 },
900 "common_params": _common_tfm_builder_cfg,
901 "invalid": _common_tfm_invalid_configs + []
902 }
903
904config_lpcxpresso55s69 = {"seed_params": {
905 "tfm_platform": ["nxp/lpcxpresso55s69"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800906 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800907 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800908 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800909 "test_psa_api": ["OFF"],
910 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800911 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800912 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800913 "extra_params": [""]
914 },
915 "common_params": _common_tfm_builder_cfg,
916 "invalid": _common_tfm_invalid_configs + []
917 }
918
Xinyu Zhang38b76742021-11-11 13:57:56 +0800919config_bl5340 = {"seed_params": {
920 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800921 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800922 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800923 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800924 "test_psa_api": ["OFF"],
925 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800926 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800927 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800928 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800929 },
930 "common_params": _common_tfm_builder_cfg,
931 "invalid": _common_tfm_invalid_configs + []
932 }
933
934config_nrf5340dk = {"seed_params": {
935 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800936 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800937 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800938 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800939 "test_psa_api": ["OFF"],
940 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800941 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800942 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800943 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800944 },
945 "common_params": _common_tfm_builder_cfg,
946 "invalid": _common_tfm_invalid_configs + []
947 }
948
949config_nrf9160dk = {"seed_params": {
950 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800951 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800952 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800953 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800954 "test_psa_api": ["OFF"],
955 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800956 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800957 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800958 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800959 },
960 "common_params": _common_tfm_builder_cfg,
961 "invalid": _common_tfm_invalid_configs + []
962 }
963
964config_m2351 = {"seed_params": {
965 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800966 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800967 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800968 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800969 "test_psa_api": ["OFF"],
970 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800971 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800972 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800973 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800974 },
975 "common_params": _common_tfm_builder_cfg,
976 "invalid": _common_tfm_invalid_configs + []
977 }
978
979config_m2354 = {"seed_params": {
980 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800981 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800982 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800983 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800984 "test_psa_api": ["OFF"],
985 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800986 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800987 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800988 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800989 },
990 "common_params": _common_tfm_builder_cfg,
991 "invalid": _common_tfm_invalid_configs + []
992 }
993
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800994# Config groups for debug
995config_debug = {"seed_params": {
996 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800997 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800998 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800999 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001000 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001001 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001002 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001003 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001004 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001005 },
1006 "common_params": _common_tfm_builder_cfg,
1007 "invalid": _common_tfm_invalid_configs + []
1008 }
1009
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001010config_debug_regr = deepcopy(config_debug)
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001011config_debug_regr["seed_params"]["test_regression"] = ["RegBL2, RegS, RegNS"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001012
1013config_debug_PSA_API = {"seed_params": {
1014 "tfm_platform": ["arm/mps2/an521"],
1015 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001016 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001017 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001018 "test_psa_api": ["CRYPTO",
1019 "INITIAL_ATTESTATION",
1020 "STORAGE",
1021 "IPC"],
1022 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001023 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001024 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001025 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001026 },
1027 "common_params": _common_tfm_builder_cfg,
1028 "invalid": _common_tfm_invalid_configs + []
1029 }
1030
Karl Zhangaff558a2020-05-15 14:28:23 +01001031_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001032 # per-patch test groups
1033 "pp_test": config_pp_test,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001034 "pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +08001035
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001036 # nightly test groups
1037 "nightly_test": config_nightly_test,
1038 "nightly_profile_s": config_profile_s,
1039 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001040 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001041 "nightly_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001042 "nightly_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001043 "nightly_cc_driver_psa": config_cc_driver_psa,
1044 "nightly_fp":config_fp,
1045 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +08001046 "nightly_nsce": config_nsce,
1047 "nightly_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001048 "nightly_cs300_an547": config_cs300_an547,
1049 "nightly_cs300_an552": config_cs300_an552,
1050 "nightly_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001051 "nightly_corstone310": config_corstone310,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001052 "nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001053 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001054 "nightly_psoc64": config_psoc64,
1055 "nightly_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001056 "nightly_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001057 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001058
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001059 # release test groups
1060 "release_test": config_release_test,
1061 "release_profile_s": config_profile_s,
1062 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001063 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001064 "release_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001065 "release_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001066 "release_cc_driver_psa": config_cc_driver_psa,
1067 "release_fp": config_fp,
1068 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001069 "release_nsce": config_nsce,
1070 "release_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001071 "release_cs300_an547": config_cs300_an547,
1072 "release_cs300_an552": config_cs300_an552,
1073 "release_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001074 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001075 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001076 "release_psoc64": config_psoc64,
1077 "release_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001078 "release_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001079 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001080
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001081 # code coverage test groups
1082 "coverage_profile_s": config_cov_profile_s,
1083 "coverage_profile_m": config_cov_profile_m,
1084 "coverage_profile_l": config_cov_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001085 "coverage_ipc_backend": config_cov_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001086 "coverage_nsce": config_cov_nsce,
1087 "coverage_mmio": config_cov_mmio,
Xinyu Zhang5f725ee2022-12-19 10:29:20 +08001088 "coverage_fp": config_cov_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +08001089
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001090 # MISRA analysis
1091 "misra": config_misra,
Paul Sokolovskya526e5d2023-06-15 09:49:13 +03001092 "misra_debug": config_misra_debug,
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001093
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001094 # platform groups
1095 "an521": config_an521,
1096 "an519": config_an519,
1097 "an524": config_an524,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001098 "cs300_an547": config_cs300_an547,
1099 "cs300_an552": config_cs300_an552,
1100 "cs300_fvp": config_cs300_fvp,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001101 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001102 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +02001103 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001104 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001105 "cypress_psoc64": config_psoc64,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001106 "corstone1000": config_corstone1000,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001107 "stm_stm32l562e_dk": config_stm32l562e_dk,
1108 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
1109 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
1110 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001111 "laird_bl5340": config_bl5340,
1112 "nordic_nrf5340dk": config_nrf5340dk,
1113 "nordic_nrf9160dk": config_nrf9160dk,
1114 "nuvoton_m2351": config_m2351,
1115 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001116
Bence Balogh79fda442022-10-14 18:01:37 +02001117 # config groups for tf-m-extras examples
1118 "example_vad": config_example_vad,
1119 "example_dma350_trigger": config_example_dma350_trigger,
Bence Balogh852f8bd2023-08-07 14:46:54 +02001120 "example_dma350_clcd": config_example_dma350_clcd,
Bence Balogh79fda442022-10-14 18:01:37 +02001121 "example_dma350_s": config_example_dma350_s,
Bence Baloghd23cbda2023-08-07 15:30:58 +02001122 "example_dma350_ns": config_example_dma350_ns,
Bence Balogh79fda442022-10-14 18:01:37 +02001123
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001124 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +00001125 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +03001126 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +03001127 "debug_PSA_API": config_debug_PSA_API,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001128 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001129
1130if __name__ == '__main__':
1131 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001132
Minos Galanakisea421232019-06-20 17:11:28 +01001133 # Default behavior is to export refference config when called
1134 _dir = os.getcwd()
1135 from utils import save_json
1136 for _cname, _cfg in _builtin_configs.items():
1137 _fname = os.path.join(_dir, _cname + ".json")
1138 print("Exporting config %s" % _fname)
1139 save_json(_fname, _cfg)