blob: b4013d584e538397b1e59ba0fe6aa543841a3ce0 [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 Coles61b43a42022-01-12 11:42:57 +000011 * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
Karl Zhang08681e62020-10-30 13:56:03 +080017
18__author__ = "tf-m@lists.trustedfirmware.org"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010019__project__ = "Trusted Firmware-M Open CI"
Xinyu Zhang06286a92021-07-22 14:00:51 +080020__version__ = "1.4.0"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010021
Paul Sokolovsky3e8fce02022-04-07 01:23:30 +030022from copy import deepcopy
23
24
Minos Galanakisea421232019-06-20 17:11:28 +010025# common parameters for tf-m build system
26# This configuration template will be passed into the tfm-builder module after
27# the template evaluation is converted to a command
28
29_common_tfm_builder_cfg = {
30 "config_type": "tf-m",
31 "codebase_root_dir": "tf-m",
32 # Order to which the variants are evaluated. This affects the name of
33 # variant configuration and the wildcard replacement logic in invalid
34 # configuration tuples
Xinyu Zhangb708f572020-09-15 11:43:46 +080035 "sort_order": ["tfm_platform",
Xinyu Zhang433771e2022-04-01 16:49:17 +080036 "compiler",
Xinyu Zhangb708f572020-09-15 11:43:46 +080037 "isolation_level",
38 "test_regression",
39 "test_psa_api",
Minos Galanakisea421232019-06-20 17:11:28 +010040 "cmake_build_type",
Xinyu Zhangb708f572020-09-15 11:43:46 +080041 "with_bl2",
Xinyu Zhang9fd74242020-10-22 11:30:50 +080042 "profile",
Xinyu Zhangfd2e1152021-12-17 18:09:01 +080043 "extra_params"],
Minos Galanakisea421232019-06-20 17:11:28 +010044
45 # Keys for the templace will come from the combinations of parameters
46 # provided in the seed dictionary.
47
Xinyu Zhangf3e19482022-01-11 15:48:13 +080048 "config_template": "cmake -G Ninja " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080049 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang433771e2022-04-01 16:49:17 +080050 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)s/%(compiler)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080051 "-DTFM_ISOLATION_LEVEL=%(isolation_level)s " + \
52 "-DTEST_NS=%(test_regression)s -DTEST_S=%(test_regression)s " + \
Raef Coles61b43a42022-01-12 11:42:57 +000053 "-DTEST_BL2=%(test_regression)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080054 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080055 "-DTEST_PSA_API=%(test_psa_api)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080056 "-DBL2=%(with_bl2)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080057 "-DTFM_PROFILE=%(profile)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080058 "%(extra_params)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080059 "-DTFM_TEST_REPO_PATH=%(codebase_root_dir)s/../tf-m-tests " + \
60 "-DMBEDCRYPTO_PATH=%(codebase_root_dir)s/../mbedtls " + \
61 "-DPSA_ARCH_TESTS_PATH=%(codebase_root_dir)s/../psa-arch-tests " + \
62 "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080063 "%(codebase_root_dir)s",
Karl Zhangaff558a2020-05-15 14:28:23 +010064
Xinyu Zhang433771e2022-04-01 16:49:17 +080065 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
66
Minos Galanakisea421232019-06-20 17:11:28 +010067 # A small subset of string substitution params is allowed in commands.
68 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
69 # _tbm_target_platform_ with the paths set when building
70
Xinyu Zhangb708f572020-09-15 11:43:46 +080071 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/bin'
Minos Galanakisea421232019-06-20 17:11:28 +010072 r'/(\w+\.(?:axf|bin|hex))$'),
73
74 # ALL commands will be executed for every build.
75 # Other keys will append extra commands when matching target_platform
Fathi Boudra83e4f292020-12-04 22:33:40 +010076 "build_cmds": {"all": ["cmake --build ./ -- install"],
Mark Horvathef57baa2022-09-12 13:36:36 +020077 "arm/musca_b1": [("srec_cat "
78 "%(_tbm_build_dir_)s/bin/"
79 "bl2.bin "
80 "-Binary -offset 0xA000000 "
81 "-fill 0xFF 0xA000000 0xA020000 "
82 "%(_tbm_build_dir_)s/bin/"
83 "tfm_s_ns_signed.bin "
84 "-Binary -offset 0xA020000 "
85 "-fill 0xFF 0xA020000 0xA200000 "
86 "-o %(_tbm_build_dir_)s/bin/"
87 "tfm.hex -Intel")],
Satish Kumar1cfdd912022-08-01 09:24:07 +010088 "arm/corstone1000": [("cat "
89 "%(_tbm_build_dir_)s/bin/"
90 "bl2_signed.bin "
91 "%(_tbm_build_dir_)s/bin/"
92 "bl2_signed.bin "
93 "%(_tbm_build_dir_)s/bin/"
94 "tfm_s_signed.bin "
95 "%(_tbm_build_dir_)s/bin/"
96 "tfm_s_signed.bin "
97 "> "
98 "%(_tbm_build_dir_)s/bin/"
99 "flash.bin")],
Summer Qin3c2b5722021-05-26 10:43:45 +0800100 "arm/musca_s1": [("srec_cat "
Xinyu Zhangb708f572020-09-15 11:43:46 +0800101 "%(_tbm_build_dir_)s/bin/"
102 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +0800103 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +0000104 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangb708f572020-09-15 11:43:46 +0800105 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800106 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +0000107 "-Binary -offset 0xA020000 "
108 "-fill 0xFF 0xA020000 0xA200000 "
109 "-o %(_tbm_build_dir_)s/bin/"
Arthur She19c0e1a2021-06-02 11:06:19 -0700110 "tfm.hex -Intel")],
111 "stm/stm32l562e_dk": [("echo 'STM32L562E-DK board post process';"
112 "%(_tbm_build_dir_)s/postbuild.sh;"
113 "pushd %(_tbm_build_dir_)s;"
Arthur She07c91b52021-07-15 15:03:10 -0700114 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
115 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Arthur She3c0dadd2021-11-18 21:17:48 -0800116 "popd")],
117 "nxp/lpcxpresso55s69": [("echo 'LPCXpresso55S69 board post process\n';"
118 "if [ -f \"%(_tbm_build_dir_)s/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
119 "pushd %(_tbm_build_dir_)s/../platform/ext/target/nxp/lpcxpresso55s69/scripts;"
120 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
121 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
122 "python3 ./${FLASH_FILE};"
123 "cd %(_tbm_build_dir_)s/bin;"
124 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
125 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Arthur She87602dc2022-02-06 14:42:18 -0800126 "popd")],
127 "cypress/psoc64": [("echo 'Sign binaries for Cypress PSoC64 platform';"
128 "pushd %(_tbm_build_dir_)s/..;"
129 "sudo /usr/local/bin/cysecuretools "
130 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
131 "--target cy8ckit-064s0s2-4343w "
132 "sign-image "
133 "--hex %(_tbm_build_dir_)s/bin/tfm_s.hex "
134 "--image-type BOOT --image-id 1;"
135 "sudo /usr/local/bin/cysecuretools "
136 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
137 "--target cy8ckit-064s0s2-4343w "
138 "sign-image "
139 "--hex %(_tbm_build_dir_)s/bin/tfm_ns.hex "
140 "--image-type BOOT --image-id 16;"
141 "mv %(_tbm_build_dir_)s/bin/tfm_s.hex %(_tbm_build_dir_)s/bin/tfm_s_signed.hex;"
142 "mv %(_tbm_build_dir_)s/bin/tfm_ns.hex %(_tbm_build_dir_)s/bin/tfm_ns_signed.hex;"
143 "popd")]
Minos Galanakisea421232019-06-20 17:11:28 +0100144 },
145
146 # (Optional) If set will fail if those artefacts are missing post build
147 "required_artefacts": {"all": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800148 "%(_tbm_build_dir_)s/bin/"
149 "tfm_s.bin",
150 "%(_tbm_build_dir_)s/bin/"
151 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200152 "arm/musca_b1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800153 "%(_tbm_build_dir_)s/bin/"
154 "tfm.hex",
155 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800156 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800157 "%(_tbm_build_dir_)s/bin/"
158 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800159 "arm/musca_s1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800160 "%(_tbm_build_dir_)s/bin/"
161 "tfm.hex",
162 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800163 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800164 "%(_tbm_build_dir_)s/bin/"
165 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100166 }
167}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100168
Xinyu Zhangb708f572020-09-15 11:43:46 +0800169# List of all build configs that are impossible under all circumstances
170_common_tfm_invalid_configs = [
Xinyu Zhang459a1982021-07-21 22:34:49 +0800171 # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
Summer Qin379abb62022-10-08 16:41:54 +0800172 ("arm/musca_b1", "ARMCLANG_6_13", "*", True, "OFF", "Debug", "*", "", "*"),
173 ("arm/musca_s1", "ARMCLANG_6_13", "*", True, "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800174 # Load range overlap on Musca for IPC Debug type: T895
Summer Qin379abb62022-10-08 16:41:54 +0800175 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
176 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300177 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800178 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800179 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800180 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
181 ("arm/musca_s1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800182 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800183 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
184 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
185 ("arm/musca_s1", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800186 ]
187
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100188# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800189# Config group for per-patch job
190config_pp_test = {"seed_params": {
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800191 # AN519_ARMCLANG_IPC_1_REG_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800192 "tfm_platform": ["arm/mps2/an519"],
193 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800194 "isolation_level": ["1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800195 "test_regression": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800196 "test_psa_api": ["OFF"],
197 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800198 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800199 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800200 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800201 },
202 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800203 "valid": [
Summer Qin379abb62022-10-08 16:41:54 +0800204 # AN519_ARMCLANG_2_REG_Release_BL2
205 ("arm/mps2/an519", "ARMCLANG_6_13", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800206 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800207 # AN519_GCC_1_REG_Debug_BL2
208 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800209 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800210 # AN519_GCC_2_REG_Release_BL2
211 ("arm/mps2/an519", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800212 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800213 # AN519_GCC_1_REG_Debug_BL2
214 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800215 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800216 # AN521_ARMCLANG_1_REG_Debug_BL2_SMALL_PSOFF
217 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800218 True, "OFF", "Debug", True, "profile_small", "PSOFF"),
Summer Qin379abb62022-10-08 16:41:54 +0800219 # AN521_ARMCLANG_1_REG_Debug_BL2
220 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800221 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800222 # AN521_ARMCLANG_2_REG_Release_BL2
223 ("arm/mps2/an521", "ARMCLANG_6_13", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800224 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800225 # AN521_ARMCLANG_3_REG_Minsizerel_BL2
226 ("arm/mps2/an521", "ARMCLANG_6_13", "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800227 True, "OFF", "Minsizerel", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800228 # AN521_ARMCLANG_1_REG_Debug_BL2_SMALL_PSOFF_SFN
229 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800230 True, "OFF", "Debug", True, "profile_small", "PSOFF, SFN"),
Summer Qin379abb62022-10-08 16:41:54 +0800231 # AN521_GCC_1_REG_Debug_BL2
232 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800233 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800234 # AN521_GCC_2_Debug_BL2_MEDIUM
235 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800236 False, "OFF", "Debug", True, "profile_medium", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800237 # AN521_GCC_2_REG_Release_BL2
238 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800239 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800240 # AN521_GCC_3_REG_Minsizerel_BL2
241 ("arm/mps2/an521", "GCC_10_3", "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800242 True, "OFF", "Minsizerel", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800243 # AN521_GCC_1_REG_Debug_BL2
244 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800245 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800246 # AN552_GNUARM_1_REG_Debug_BL2
247 ("arm/mps3/an552", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800248 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800249 # AN552_GNUARM_1_REG_Release_BL2
250 ("arm/mps3/an552", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800251 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800252 # MUSCA_B1_GCC_1_REG_Minsizerel_BL2
253 ("arm/musca_b1", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800254 True, "OFF", "Minsizerel", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800255 # MUSCA_S1_ARMCLANG_2_REG_Release_BL2
256 ("arm/musca_s1", "ARMCLANG_6_13", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800257 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800258 # MUSCA_S1_GCC_1_REG_Debug_BL2
259 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800260 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800261 # MUSCA_S1_GCC_2_REG_Release_BL2
262 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800263 True, "OFF", "Release", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800264 # MUSCA_S1_GCC_1_REG_Debug_BL2
265 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800266 True, "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800267 # MUSCA_S1_GCC_2_REG_Release_BL2_FPON
268 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800269 True, "OFF", "Release", True, "", "FPON"),
Summer Qin379abb62022-10-08 16:41:54 +0800270 # MUSCA_S1_GCC_1_REG_Release_BL2_CC_DRIVER_PSA
271 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800272 True, "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Summer Qin379abb62022-10-08 16:41:54 +0800273 # stm32l562e_dk_ARMCLANG_1_REG_Release_BL2
274 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800275 True, "OFF", "Release", True, "", "CRYPTO_OFF"),
Summer Qin379abb62022-10-08 16:41:54 +0800276 # stm32l562e_dk_GCC_2_REG_Release_BL2
277 ("stm/stm32l562e_dk", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800278 False, "OFF", "Release", True, "", "CRYPTO_ON"),
Summer Qin379abb62022-10-08 16:41:54 +0800279 # stm32l562e_dk_GCC_3_REG_Release_BL2
280 ("stm/stm32l562e_dk", "GCC_10_3", "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800281 True, "OFF", "Release", True, "", "CRYPTO_OFF"),
Summer Qin379abb62022-10-08 16:41:54 +0800282 # psoc64_GCC_2_REG_Release
283 ("cypress/psoc64", "GCC_10_3", "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800284 True, "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800285 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800286 "invalid": _common_tfm_invalid_configs + []
287 }
288
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800289# Config group for nightly job
290config_nightly_test = {"seed_params": {
291 "tfm_platform": ["arm/mps2/an519",
292 "arm/mps2/an521",
293 "arm/mps3/an524",
294 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200295 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800296 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800297 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800298 "test_regression": [True, False],
299 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800300 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800301 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800302 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800303 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100304 },
305 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800306 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100307 }
308
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800309# Config group for release job
310config_release_test = {"seed_params": {
311 "tfm_platform": ["arm/mps2/an519",
312 "arm/mps2/an521",
313 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200314 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800315 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800316 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800317 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800318 "test_regression": [True, False],
319 "test_psa_api": ["OFF"],
320 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800321 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800322 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800323 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800324 },
325 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800326 "valid": [
327 # sanity test for GCC v11.2
Summer Qin379abb62022-10-08 16:41:54 +0800328 # AN521_GCC_3_REG_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800329 ("arm/mps2/an521", "GCC_11_2",
Summer Qin379abb62022-10-08 16:41:54 +0800330 "3", True, "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800331 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800332 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800333 "invalid": _common_tfm_invalid_configs + []
334 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800335
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800336# Config groups for TF-M features
337config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800338 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800339 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800340 "isolation_level": ["1"],
341 "test_regression": [True, False],
342 "test_psa_api": ["OFF"],
343 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800344 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800345 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800346 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800347 },
348 "common_params": _common_tfm_builder_cfg,
349 "valid": [
350 # Profile Small also supports SFN model
Summer Qin379abb62022-10-08 16:41:54 +0800351 ("*", "*", "*", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800352 "*", "*", "*", "PSOFF, SFN")
David Huda27ae72022-03-28 15:32:19 +0800353 ],
354 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800355 ("arm/mps2/an519", "GCC_10_3", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800356 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800357 ]
358 }
359
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800360config_profile_m = {"seed_params": {
361 "tfm_platform": ["arm/mps2/an519",
362 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200363 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800364 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800365 "isolation_level": ["2"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800366 "test_regression": [True, False],
367 "test_psa_api": ["OFF"],
368 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800369 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800370 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800371 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800372 },
373 "common_params": _common_tfm_builder_cfg,
374 "invalid": _common_tfm_invalid_configs + []
375 }
376
David Hu3d333762022-10-27 18:12:33 +0800377config_profile_m_arotless = {"seed_params": {
378 "tfm_platform": ["arm/musca_b1"],
379 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
380 "isolation_level": ["1"],
381 "test_regression": [True, False],
382 "test_psa_api": ["OFF"],
383 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
384 "with_bl2": [True],
385 "profile": ["profile_medium_arotless"],
386 "extra_params": ["", "PSOFF"]
387 },
388 "common_params": _common_tfm_builder_cfg,
389 "invalid": _common_tfm_invalid_configs + []
390 }
391
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800392config_profile_l = {"seed_params": {
393 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800394 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800395 "isolation_level": ["3"],
396 "test_regression": [True, False],
397 "test_psa_api": ["OFF"],
398 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800399 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800400 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800401 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800402 },
403 "common_params": _common_tfm_builder_cfg,
404 "invalid": _common_tfm_invalid_configs + []
405 }
406
407config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200408 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800409 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800410 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800411 "isolation_level": ["1"],
412 "test_regression": [True],
413 "test_psa_api": ["OFF"],
414 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800415 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800416 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800417 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800418 },
419 "common_params": _common_tfm_builder_cfg,
420 "invalid": _common_tfm_invalid_configs + []
421 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100422
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800423config_fp = {"seed_params": {
Summer Qin3c2b5722021-05-26 10:43:45 +0800424 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800425 "compiler": ["GCC_10_3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800426 "isolation_level": ["1", "2"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800427 "test_regression": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800428 "test_psa_api": ["OFF"],
429 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800430 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800431 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200432 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800433 },
434 "common_params": _common_tfm_builder_cfg,
435 "invalid": _common_tfm_invalid_configs + []
436 }
Karl Zhangeffed972020-06-30 15:48:01 +0800437
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800438config_psa_api = {"seed_params": {
439 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200440 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800441 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800442 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800443 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800444 "test_regression": [False],
445 "test_psa_api": ["IPC",
446 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800447 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800448 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800449 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800450 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800451 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800452 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800453 },
454 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300455 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800456 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800457
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800458config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800459 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800460 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800461 "isolation_level": ["1", "2", "3"],
462 "test_regression": [True],
463 "test_psa_api": ["OFF"],
464 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800465 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800466 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800467 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800468 },
469 "common_params": _common_tfm_builder_cfg,
470 "invalid": _common_tfm_invalid_configs + []
471 }
472
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800473config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800474 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800475 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800476 "isolation_level": ["1"],
477 "test_regression": [True],
478 "test_psa_api": ["OFF"],
479 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800480 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800481 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800482 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800483 },
484 "common_params": _common_tfm_builder_cfg,
485 "invalid": _common_tfm_invalid_configs + []
486 }
487
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800488# Config groups for code coverage
489config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800490config_cov_profile_s["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800491
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800492config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800493config_cov_profile_m["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800494
David Hu3d333762022-10-27 18:12:33 +0800495config_cov_profile_m_arotless = deepcopy(config_profile_m_arotless)
496config_cov_profile_m_arotless["seed_params"]["compiler"] = ["GCC_10_3"]
497
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800498config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800499config_cov_profile_l["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800500
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800501config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800502config_cov_nsce["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800503
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800504config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800505config_cov_mmio["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800506
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800507# Config groups for platforms
508config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800509 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800510 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800511 "isolation_level": ["1", "2"],
512 "test_regression": [True, False],
513 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800514 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800515 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800516 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800517 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800518 },
519 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800520 "invalid": _common_tfm_invalid_configs + []
521 }
522
523config_an521 = {"seed_params": {
524 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800525 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800526 "isolation_level": ["1", "2", "3"],
527 "test_regression": [True, False],
528 "test_psa_api": ["OFF"],
529 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800530 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800531 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800532 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800533 },
534 "common_params": _common_tfm_builder_cfg,
535 "invalid": _common_tfm_invalid_configs + []
536 }
537
538config_an524 = {"seed_params": {
539 "tfm_platform": ["arm/mps3/an524"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800540 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800541 "isolation_level": ["1", "2"],
542 "test_regression": [True, False],
543 "test_psa_api": ["OFF"],
544 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800545 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800546 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800547 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800548 },
549 "common_params": _common_tfm_builder_cfg,
550 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800551 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000552
Xinyu Zhang38b76742021-11-11 13:57:56 +0800553config_an547 = {"seed_params": {
554 "tfm_platform": ["arm/mps3/an547"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100555 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800556 "isolation_level": ["1"],
557 "test_regression": [False],
558 "test_psa_api": ["OFF"],
559 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800560 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800561 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800562 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800563 },
564 "common_params": _common_tfm_builder_cfg,
565 "invalid": _common_tfm_invalid_configs + []
566 }
567
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800568config_an552 = {"seed_params": {
569 "tfm_platform": ["arm/mps3/an552"],
570 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800571 "isolation_level": ["1", "2"],
572 "test_regression": [True, False],
573 "test_psa_api": ["OFF"],
574 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800575 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800576 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800577 "extra_params": [""]
578 },
579 "common_params": _common_tfm_builder_cfg,
580 "invalid": _common_tfm_invalid_configs + []
581 }
582
583config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200584 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800585 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800586 "isolation_level": ["1", "2", "3"],
587 "test_regression": [True, False],
588 "test_psa_api": ["OFF"],
589 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800590 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800591 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800592 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800593 },
594 "common_params": _common_tfm_builder_cfg,
595 "invalid": _common_tfm_invalid_configs + []
596 }
597
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800598config_musca_s1 = {"seed_params": {
599 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800600 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800601 "isolation_level": ["1", "2"],
602 "test_regression": [True, False],
603 "test_psa_api": ["OFF"],
604 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800605 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800606 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800607 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800608 },
609 "common_params": _common_tfm_builder_cfg,
610 "invalid": _common_tfm_invalid_configs + []
611 }
612
Bence Balogh8731a092022-05-24 17:24:54 +0200613config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +0100614 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100615 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800616 "isolation_level": ["1"],
617 "test_regression": [False],
618 "test_psa_api": ["OFF"],
619 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800620 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800621 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800622 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800623 },
624 "common_params": _common_tfm_builder_cfg,
625 "invalid": _common_tfm_invalid_configs + []
626 }
627
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100628config_rss = {"seed_params": {
Raef Coles0d405852022-10-21 10:52:50 +0100629 "tfm_platform": ["arm/rss/tc"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100630 "compiler": ["GCC_10_3"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100631 "isolation_level": ["1", "2"],
632 "test_regression": [True, False],
633 "test_psa_api": ["OFF"],
634 "cmake_build_type": ["Debug", "Release"],
635 "with_bl2": [True],
636 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800637 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100638 },
639 "common_params": _common_tfm_builder_cfg,
640 "invalid": _common_tfm_invalid_configs + []
641 }
642
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800643config_psoc64 = {"seed_params": {
644 "tfm_platform": ["cypress/psoc64"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800645 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800646 "isolation_level": ["1", "2"],
647 "test_regression": [True],
648 "test_psa_api": ["OFF"],
649 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800650 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800651 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800652 "extra_params": [""]
653 },
654 "common_params": _common_tfm_builder_cfg,
655 "invalid": _common_tfm_invalid_configs + []
656 }
657
658config_corstone1000 = {"seed_params": {
659 "tfm_platform": ["arm/corstone1000"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800660 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800661 "isolation_level": ["1"],
Satish Kumar1cfdd912022-08-01 09:24:07 +0100662 "test_regression": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800663 "test_psa_api": ["OFF"],
664 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800665 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800666 "profile": [""],
Xinyu Zhangfc061dd2022-07-26 14:52:56 +0800667 "extra_params": ["S_PS_OFF, FVP", "FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800668 },
669 "common_params": _common_tfm_builder_cfg,
670 "invalid": _common_tfm_invalid_configs + []
671 }
672
673config_stm32l562e_dk = {"seed_params": {
674 "tfm_platform": ["stm/stm32l562e_dk"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800675 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800676 "isolation_level": ["1", "2", "3"],
677 "test_regression": [True, False],
678 "test_psa_api": ["OFF"],
679 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800680 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800681 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800682 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
683 },
684 "common_params": _common_tfm_builder_cfg,
685 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800686 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_REG_Release_BL2
687 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800688 True, "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800689 # all other tests are off when CRYPTO is ON
Summer Qin379abb62022-10-08 16:41:54 +0800690 ("stm/stm32l562e_dk", "*", "*", True, "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800691 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800692 # all other tests are ON when CRYPTO is OFF
Summer Qin379abb62022-10-08 16:41:54 +0800693 ("stm/stm32l562e_dk", "*", "*", False, "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800694 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800695 ]
696 }
697
698config_b_u585i_iot02a = {"seed_params": {
699 "tfm_platform": ["stm/b_u585i_iot02a"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800700 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800701 "isolation_level": ["1"],
702 "test_regression": [False],
703 "test_psa_api": ["OFF"],
704 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800705 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800706 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800707 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800708 },
709 "common_params": _common_tfm_builder_cfg,
710 "invalid": _common_tfm_invalid_configs + []
711 }
712
713config_nucleo_l552ze_q = {"seed_params": {
714 "tfm_platform": ["stm/nucleo_l552ze_q"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800715 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800716 "isolation_level": ["1"],
717 "test_regression": [False],
718 "test_psa_api": ["OFF"],
719 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800720 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800721 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800722 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800723 },
724 "common_params": _common_tfm_builder_cfg,
725 "invalid": _common_tfm_invalid_configs + []
726 }
727
728config_lpcxpresso55s69 = {"seed_params": {
729 "tfm_platform": ["nxp/lpcxpresso55s69"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800730 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800731 "isolation_level": ["2"],
732 "test_regression": [True, False],
733 "test_psa_api": ["OFF"],
734 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800735 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800736 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800737 "extra_params": [""]
738 },
739 "common_params": _common_tfm_builder_cfg,
740 "invalid": _common_tfm_invalid_configs + []
741 }
742
Xinyu Zhang38b76742021-11-11 13:57:56 +0800743config_bl5340 = {"seed_params": {
744 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800745 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800746 "isolation_level": ["1"],
747 "test_regression": [False],
748 "test_psa_api": ["OFF"],
749 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800750 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800751 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800752 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800753 },
754 "common_params": _common_tfm_builder_cfg,
755 "invalid": _common_tfm_invalid_configs + []
756 }
757
758config_nrf5340dk = {"seed_params": {
759 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800760 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800761 "isolation_level": ["1"],
762 "test_regression": [False],
763 "test_psa_api": ["OFF"],
764 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800765 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800766 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800767 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800768 },
769 "common_params": _common_tfm_builder_cfg,
770 "invalid": _common_tfm_invalid_configs + []
771 }
772
773config_nrf9160dk = {"seed_params": {
774 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800775 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800776 "isolation_level": ["1"],
777 "test_regression": [False],
778 "test_psa_api": ["OFF"],
779 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800780 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800781 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800782 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800783 },
784 "common_params": _common_tfm_builder_cfg,
785 "invalid": _common_tfm_invalid_configs + []
786 }
787
788config_m2351 = {"seed_params": {
789 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800790 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800791 "isolation_level": ["1"],
792 "test_regression": [False],
793 "test_psa_api": ["OFF"],
794 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800795 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800796 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800797 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800798 },
799 "common_params": _common_tfm_builder_cfg,
800 "invalid": _common_tfm_invalid_configs + []
801 }
802
803config_m2354 = {"seed_params": {
804 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800805 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800806 "isolation_level": ["1"],
807 "test_regression": [False],
808 "test_psa_api": ["OFF"],
809 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800810 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800811 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800812 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800813 },
814 "common_params": _common_tfm_builder_cfg,
815 "invalid": _common_tfm_invalid_configs + []
816 }
817
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800818# Config groups for debug
819config_debug = {"seed_params": {
820 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800821 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800822 "isolation_level": ["1"],
823 "test_regression": [False],
824 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800825 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800826 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800827 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800828 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800829 },
830 "common_params": _common_tfm_builder_cfg,
831 "invalid": _common_tfm_invalid_configs + []
832 }
833
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800834config_debug_regr = deepcopy(config_debug)
835config_debug_regr["seed_params"]["test_regression"] = [True]
836
837config_debug_PSA_API = {"seed_params": {
838 "tfm_platform": ["arm/mps2/an521"],
839 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800840 "isolation_level": ["1"],
841 "test_regression": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800842 "test_psa_api": ["CRYPTO",
843 "INITIAL_ATTESTATION",
844 "STORAGE",
845 "IPC"],
846 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800847 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800848 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800849 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800850 },
851 "common_params": _common_tfm_builder_cfg,
852 "invalid": _common_tfm_invalid_configs + []
853 }
854
Karl Zhangaff558a2020-05-15 14:28:23 +0100855_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800856 # per-patch test groups
857 "pp_test": config_pp_test,
858 "pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +0800859
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800860 # nightly test groups
861 "nightly_test": config_nightly_test,
862 "nightly_profile_s": config_profile_s,
863 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +0800864 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800865 "nightly_profile_l": config_profile_l,
866 "nightly_cc_driver_psa": config_cc_driver_psa,
867 "nightly_fp":config_fp,
868 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800869 "nightly_nsce": config_nsce,
870 "nightly_mmio": config_mmio,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800871 "nightly_an547": config_an547,
872 "nightly_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +0200873 "nightly_corstone310": config_corstone310,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800874 "nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100875 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800876 "nightly_psoc64": config_psoc64,
877 "nightly_stm32l562e_dk": config_stm32l562e_dk,
878 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +0800879
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800880 # release test groups
881 "release_test": config_release_test,
882 "release_profile_s": config_profile_s,
883 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +0800884 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800885 "release_profile_l": config_profile_l,
886 "release_cc_driver_psa": config_cc_driver_psa,
887 "release_fp": config_fp,
888 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800889 "release_nsce": config_nsce,
890 "release_mmio": config_mmio,
891 "release_an547": config_an547,
892 "release_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +0200893 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100894 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800895 "release_psoc64": config_psoc64,
896 "release_stm32l562e_dk": config_stm32l562e_dk,
897 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +0800898
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800899 # code coverage test groups
900 "coverage_profile_s": config_cov_profile_s,
901 "coverage_profile_m": config_cov_profile_m,
David Hu3d333762022-10-27 18:12:33 +0800902 "coverage_profile_m_arotless": config_cov_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800903 "coverage_profile_l": config_cov_profile_l,
904 "coverage_nsce": config_cov_nsce,
905 "coverage_mmio": config_cov_mmio,
906 "coverage_fp": config_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800907
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800908 # platform groups
909 "an521": config_an521,
910 "an519": config_an519,
911 "an524": config_an524,
912 "an547": config_an547,
913 "an552": config_an552,
914 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800915 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +0200916 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100917 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800918 "cypress_psoc64": config_psoc64,
919 "corstone1000": config_corstone1000,
920 "stm_stm32l562e_dk": config_stm32l562e_dk,
921 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
922 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
923 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +0800924 "laird_bl5340": config_bl5340,
925 "nordic_nrf5340dk": config_nrf5340dk,
926 "nordic_nrf9160dk": config_nrf9160dk,
927 "nuvoton_m2351": config_m2351,
928 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +0800929
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800930 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +0000931 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +0300932 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +0300933 "debug_PSA_API": config_debug_PSA_API,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800934 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100935
936if __name__ == '__main__':
937 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100938
Minos Galanakisea421232019-06-20 17:11:28 +0100939 # Default behavior is to export refference config when called
940 _dir = os.getcwd()
941 from utils import save_json
942 for _cname, _cfg in _builtin_configs.items():
943 _fname = os.path.join(_dir, _cname + ".json")
944 print("Exporting config %s" % _fname)
945 save_json(_fname, _cfg)