blob: 3234d26a8d931ae50795cd4a22f0d2296dc44521 [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/*
Karl Zhangaff558a2020-05-15 14:28:23 +010011 * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
17__author__ = "Minos Galanakis"
18__email__ = "minos.galanakis@linaro.org"
19__project__ = "Trusted Firmware-M Open CI"
20__status__ = "stable"
Minos Galanakisea421232019-06-20 17:11:28 +010021__version__ = "1.1"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010022
Minos Galanakisea421232019-06-20 17:11:28 +010023# common parameters for tf-m build system
24# This configuration template will be passed into the tfm-builder module after
25# the template evaluation is converted to a command
26
27_common_tfm_builder_cfg = {
28 "config_type": "tf-m",
29 "codebase_root_dir": "tf-m",
30 # Order to which the variants are evaluated. This affects the name of
31 # variant configuration and the wildcard replacement logic in invalid
32 # configuration tuples
33 "sort_order": ["target_platform",
34 "compiler",
35 "proj_config",
Karl Zhangaff558a2020-05-15 14:28:23 +010036 "psa_api_suit",
37 "with_OTP",
Minos Galanakisea421232019-06-20 17:11:28 +010038 "cmake_build_type",
39 "with_mcuboot"],
40
41 # Keys for the templace will come from the combinations of parameters
42 # provided in the seed dictionary.
43
44 "config_template": (
45 "cmake -G \"Unix Makefiles\" "
46 "-DPROJ_CONFIG=`"
47 "readlink -f %(codebase_root_dir)s/configs/%(proj_config)s.cmake` "
48 "-DTARGET_PLATFORM=%(target_platform)s "
49 "-DCOMPILER=%(compiler)s "
50 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s "
51 "-DBL2=%(with_mcuboot)s "
52 "%(codebase_root_dir)s"),
53
Karl Zhangaff558a2020-05-15 14:28:23 +010054 "config_template_psa_api": (
55 "cmake -G \"Unix Makefiles\" "
56 "-DPROJ_CONFIG=`"
57 "readlink -f %(codebase_root_dir)s/configs/%(proj_config)s.cmake` "
58 "-DTARGET_PLATFORM=%(target_platform)s "
59 "-DCOMPILER=%(compiler)s "
60 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s "
61#TODO: error when using this param
62# "-DPSA_API_TEST_BUILD_PATH=%(_tbm_build_dir_)s "
63 "%(codebase_root_dir)s"),
64
Minos Galanakisea421232019-06-20 17:11:28 +010065 # A small subset of string substitution params is allowed in commands.
66 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
67 # _tbm_target_platform_ with the paths set when building
68
69 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/install/outputs/'
70 r'(?:fvp|AN521|AN519|MUSCA_A|MUSCA_B1)'
71 r'/(\w+\.(?:axf|bin|hex))$'),
72
73 # ALL commands will be executed for every build.
74 # Other keys will append extra commands when matching target_platform
Karl Zhangaff558a2020-05-15 14:28:23 +010075 "build_cmds": {"all": ["cmake --build ./ -- install"],
Minos Galanakisea421232019-06-20 17:11:28 +010076 "MUSCA_A": [("srec_cat "
77 "%(_tbm_build_dir_)s/install/outputs/"
78 "%(_tbm_target_platform_)s/mcuboot.bin "
79 "-Binary -offset 0x200000 "
80 "%(_tbm_build_dir_)s/install/outputs/"
81 "%(_tbm_target_platform_)s/tfm_sign.bin "
82 "-Binary -offset 0x220000 -o "
83 "%(_tbm_build_dir_)s/install/outputs/"
84 "%(_tbm_target_platform_)s"
85 "/tfm.hex -Intel")],
86 "MUSCA_B1": [("srec_cat "
87 "%(_tbm_build_dir_)s/install/outputs/"
88 "%(_tbm_target_platform_)s/mcuboot.bin "
Minos Galanakise86f4482019-11-06 16:08:23 +000089 "-Binary -offset 0xA000000 "
Minos Galanakisea421232019-06-20 17:11:28 +010090 "%(_tbm_build_dir_)s/install/outputs/"
91 "%(_tbm_target_platform_)s/tfm_sign.bin "
Minos Galanakise86f4482019-11-06 16:08:23 +000092 "-Binary -offset 0xA020000 -o "
Minos Galanakisea421232019-06-20 17:11:28 +010093 "%(_tbm_build_dir_)s/install/outputs/"
94 "%(_tbm_target_platform_)s"
Karl Zhangeffed972020-06-30 15:48:01 +080095 "/tfm.hex -Intel")],
96 "MUSCA_S1": [("srec_cat "
97 "%(_tbm_build_dir_)s/install/outputs/"
98 "%(_tbm_target_platform_)s/mcuboot.bin "
99 "-Binary -offset 0xA000000 "
100 "%(_tbm_build_dir_)s/install/outputs/"
101 "%(_tbm_target_platform_)s/tfm_sign.bin "
102 "-Binary -offset 0xA020000 -o "
103 "%(_tbm_build_dir_)s/install/outputs/"
104 "%(_tbm_target_platform_)s"
Minos Galanakisea421232019-06-20 17:11:28 +0100105 "/tfm.hex -Intel")]
106 },
107
108 # (Optional) If set will fail if those artefacts are missing post build
109 "required_artefacts": {"all": [
110 "%(_tbm_build_dir_)s/install/outputs/"
111 "%(_tbm_target_platform_)s/tfm_s.bin",
112 "%(_tbm_build_dir_)s/install/outputs/"
113 "%(_tbm_target_platform_)s/tfm_ns.bin"],
114 "MUSCA_A": [
115 "%(_tbm_build_dir_)s/install/outputs/"
116 "%(_tbm_target_platform_)s/tfm.hex",
117 "%(_tbm_build_dir_)s/install/outputs/"
118 "%(_tbm_target_platform_)s/mcuboot.bin",
119 "%(_tbm_build_dir_)s/install/outputs/"
120 "%(_tbm_target_platform_)s/tfm_sign.bin"],
121 "MUSCA_B1": [
122 "%(_tbm_build_dir_)s/install/outputs/"
123 "%(_tbm_target_platform_)s/tfm.hex",
124 "%(_tbm_build_dir_)s/install/outputs/"
125 "%(_tbm_target_platform_)s/mcuboot.bin",
126 "%(_tbm_build_dir_)s/install/outputs/"
Karl Zhangeffed972020-06-30 15:48:01 +0800127 "%(_tbm_target_platform_)s/tfm_sign.bin"],
128 "MUSCA_S1": [
129 "%(_tbm_build_dir_)s/install/outputs/"
130 "%(_tbm_target_platform_)s/tfm.hex",
131 "%(_tbm_build_dir_)s/install/outputs/"
132 "%(_tbm_target_platform_)s/mcuboot.bin",
133 "%(_tbm_build_dir_)s/install/outputs/"
Minos Galanakisea421232019-06-20 17:11:28 +0100134 "%(_tbm_target_platform_)s/tfm_sign.bin"]
135 }
136}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100137
138# Configure build manager to build several combinations
Karl Zhangaff558a2020-05-15 14:28:23 +0100139config_AN539 = {"seed_params": {
140 "target_platform": ["AN539"],
141 "compiler": ["ARMCLANG", "GNUARM"],
Minos Galanakisea421232019-06-20 17:11:28 +0100142 "proj_config": ["ConfigRegression",
Karl Zhangaff558a2020-05-15 14:28:23 +0100143 "ConfigRegressionIPC",
144 "ConfigRegressionIPCTfmLevel2",
Minos Galanakisea421232019-06-20 17:11:28 +0100145 "ConfigCoreIPC",
146 "ConfigCoreIPCTfmLevel2",
147 "ConfigDefault"],
148 "cmake_build_type": ["Debug", "Release"],
149 "with_mcuboot": [True, False],
150 },
151 "common_params": _common_tfm_builder_cfg,
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100152 # invalid configuations can be added as tuples of adjustable
153 # resolution "AN521" will reject all combinations for that
154 # platform while ("AN521", "GNUARM") will only reject GCC ones
155 "invalid": []
156 }
157
Karl Zhangaff558a2020-05-15 14:28:23 +0100158# Configure build manager to build several combinations
159config_AN524 = {"seed_params": {
160 "target_platform": ["AN524"],
161 "compiler": ["ARMCLANG", "GNUARM"],
162 "proj_config": ["ConfigRegression",
163 "ConfigRegressionIPC",
164 "ConfigRegressionIPCTfmLevel2",
165 "ConfigCoreIPC",
166 "ConfigCoreIPCTfmLevel2",
167 "ConfigDefault"],
168 "cmake_build_type": ["Debug", "Release"],
169 "with_mcuboot": [True, False],
170 },
171 "common_params": _common_tfm_builder_cfg,
172 # invalid configuations can be added as tuples of adjustable
173 # resolution "AN521" will reject all combinations for that
174 # platform while ("AN521", "GNUARM") will only reject GCC ones
175 "invalid": []
176 }
177
178# Configure build manager to build several combinations
179config_AN521 = {"seed_params": {
180 "target_platform": ["AN521"],
181 "compiler": ["ARMCLANG", "GNUARM"],
182 "proj_config": ["ConfigRegression",
183 "ConfigRegressionIPC",
184 "ConfigRegressionIPCTfmLevel2",
185 "ConfigCoreIPC",
186 "ConfigCoreIPCTfmLevel2",
187 "ConfigDefault"],
188 "cmake_build_type": ["Debug", "Release"],
189 "with_mcuboot": [True, False],
190 },
191 "common_params": _common_tfm_builder_cfg,
192 # invalid configuations can be added as tuples of adjustable
193 # resolution "AN521" will reject all combinations for that
194 # platform while ("AN521", "GNUARM") will only reject GCC ones
195 "invalid": []
196 }
197
198# Configure build manager to build several combinations
199config_PSA_API = {"seed_params": {
Karl Zhangeffed972020-06-30 15:48:01 +0800200 "target_platform": ["AN521", "MUSCA_B1", "MUSCA_S1"],
Karl Zhangaff558a2020-05-15 14:28:23 +0100201 "compiler": ["ARMCLANG", "GNUARM"],
202 "proj_config": ["ConfigPsaApiTest",
203 "ConfigPsaApiTestIPC",
204 "ConfigPsaApiTestIPCTfmLevel2"],
205 "psa_api_suit": ["CRYPTO",
206 "PROTECTED_STORAGE",
207 "INITIAL_ATTESTATION",
208 "INTERNAL_TRUSTED_STORAGE"],
209 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
210 "with_mcuboot": [True],
211 },
212 "common_params": _common_tfm_builder_cfg,
213 # invalid configuations can be added as tuples of adjustable
214 # resolution "AN521" will reject all combinations for that
215 # platform while ("AN521", "GNUARM") will only reject GCC ones
216 "invalid": []
217 }
218
219# Configure build manager to build several combinations
220config_PSA_FF = {"seed_params": {
221 "target_platform": ["AN521", "MUSCA_B1"],
222 "compiler": ["ARMCLANG", "GNUARM"],
223 "proj_config": ["ConfigPsaApiTestIPC",
224 "ConfigPsaApiTestIPCTfmLevel2"],
225 # Prefer to use "IPC" from compile command perspective
226 # But the name style is prefer "FF"
227 "psa_api_suit": ["FF"],
228 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
229 "with_mcuboot": [True],
230 },
231 "common_params": _common_tfm_builder_cfg,
232 # invalid configuations can be added as tuples of adjustable
233 # resolution "AN521" will reject all combinations for that
234 # platform while ("AN521", "GNUARM") will only reject GCC ones
235 "invalid": []
236 }
237
238# Configure build manager to build several combinations
239config_PSA_API_OTP = {"seed_params": {
240 "target_platform": ["MUSCA_B1"],#
241 "compiler": ["ARMCLANG", "GNUARM"],
242 "proj_config": ["ConfigPsaApiTest",
243 "ConfigPsaApiTestIPC",
244 "ConfigPsaApiTestIPCTfmLevel2"],
245 "psa_api_suit": ["CRYPTO",
246 "PROTECTED_STORAGE",
247 "INITIAL_ATTESTATION",
248 "INTERNAL_TRUSTED_STORAGE"],
249 "with_OTP": ["OTP"],
250 "cmake_build_type": ["Debug", "Release", "Minsizerel"],#
251 "with_mcuboot": [True],
252 },
253 "common_params": _common_tfm_builder_cfg,
254 # invalid configuations can be added as tuples of adjustable
255 # resolution "AN521" will reject all combinations for that
256 # platform while ("AN521", "GNUARM") will only reject GCC ones
257 "invalid": []
258 }
259
260# Configure build manager to build several combinations
261config_PSA_FF_OTP = {"seed_params": {
262 "target_platform": ["MUSCA_B1"],
263 "compiler": ["ARMCLANG", "GNUARM"],
264 "proj_config": ["ConfigPsaApiTestIPC",
265 "ConfigPsaApiTestIPCTfmLevel2"],
266 # Prefer to use "IPC" from compile command perspective
267 # But the name style is prefer "FF"
268 "psa_api_suit": ["FF"],
269 "with_OTP": ["OTP"],
270 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
271 "with_mcuboot": [True],
272 },
273 "common_params": _common_tfm_builder_cfg,
274 # invalid configuations can be added as tuples of adjustable
275 # resolution "AN521" will reject all combinations for that
276 # platform while ("AN521", "GNUARM") will only reject GCC ones
277 "invalid": []
278 }
Minos Galanakisea421232019-06-20 17:11:28 +0100279
280# Configure build manager to build several combinations
Karl Zhang96dfe2d2020-05-11 11:31:40 +0800281config_PSOC64 = {"seed_params": {
282 "target_platform": ["psoc64"],
283 "compiler": ["ARMCLANG", "GNUARM"],
284 "proj_config": ["ConfigRegressionIPC",
285 "ConfigRegressionIPCTfmLevel2"],
286 "cmake_build_type": ["Release"],
287 "with_mcuboot": [False],
288 },
289 "common_params": _common_tfm_builder_cfg,
290 # invalid configuations can be added as tuples of adjustable
291 # resolution "AN521" will reject all combinations for that
292 # platform while ("AN521", "GNUARM") will only reject GCC ones
293 "invalid": []
294 }
295
296# Configure build manager to build several combinations
Minos Galanakisea421232019-06-20 17:11:28 +0100297config_AN519 = {"seed_params": {
298 "target_platform": ["AN519"],
Karl Zhangaff558a2020-05-15 14:28:23 +0100299 "compiler": ["ARMCLANG", "GNUARM"],
Minos Galanakisea421232019-06-20 17:11:28 +0100300 "proj_config": ["ConfigRegression",
Karl Zhangaff558a2020-05-15 14:28:23 +0100301 "ConfigRegressionIPC",
302 "ConfigRegressionIPCTfmLevel2",
Minos Galanakisea421232019-06-20 17:11:28 +0100303 "ConfigCoreIPC",
304 "ConfigCoreIPCTfmLevel2",
305 "ConfigDefault"],
306 "cmake_build_type": ["Debug", "Release"],
307 "with_mcuboot": [True, False],
308 },
309 "common_params": _common_tfm_builder_cfg,
310 # invalid configuations can be added as tuples of adjustable
311 # resolution "AN521" will reject all combinations for that
312 # platform while ("AN521", "GNUARM") will only reject GCC ones
313 "invalid": []
314 }
315
316config_IPC = {"seed_params": {
317 "target_platform": ["AN521", "AN519", "MUSCA_A", "MUSCA_B1"],
Karl Zhangaff558a2020-05-15 14:28:23 +0100318 "compiler": ["ARMCLANG", "GNUARM"],
Minos Galanakisea421232019-06-20 17:11:28 +0100319 "proj_config": ["ConfigCoreIPC",
Karl Zhangaff558a2020-05-15 14:28:23 +0100320 "ConfigCoreIPCTfmLevel2",
321 "ConfigRegressionIPC",
322 "ConfigRegressionIPCTfmLevel2"],
Minos Galanakisea421232019-06-20 17:11:28 +0100323 "cmake_build_type": ["Debug", "Release"],
324 "with_mcuboot": [True, False],
325 },
326 "common_params": _common_tfm_builder_cfg,
327 # invalid configuations can be added as tuples of adjustable
328 # resolution "AN521" will reject all combinations for that
329 # platform while ("AN521", "GNUARM") will only reject GCC
330 "invalid": [("MUSCA_B1", "*", "*", "*", False)]
331 }
332
333# Configure build manager to build the maximum number of configurations
334config_full = {"seed_params": {
Karl Zhangaff558a2020-05-15 14:28:23 +0100335 "target_platform": ["AN521", "AN519",
336 "MUSCA_A", "MUSCA_B1",
Karl Zhang81a76772020-05-11 18:28:52 +0800337 "AN524", "AN539",
338 "psoc64"],
Dean Birchd6ce2c82020-05-13 13:16:15 +0100339 "compiler": ["ARMCLANG", "GNUARM"],
340 "proj_config": ["ConfigRegression",
341 "ConfigRegressionIPC",
342 "ConfigRegressionIPCTfmLevel2",
343 "ConfigCoreIPC",
344 "ConfigCoreIPCTfmLevel2",
345 "ConfigDefault"],
346 "cmake_build_type": ["Debug", "Release"],
347 "with_mcuboot": [True, False],
348 },
349 "common_params": _common_tfm_builder_cfg,
350 # invalid configuations can be added as tuples of adjustable
351 # resolution "AN521" will reject all combinations for that
352 # platform while ("AN521", "GNUARM") will only reject GCC ones
353 "invalid": [("MUSCA_A", "*", "*", "*", False),
354 ("MUSCA_B1", "*", "*", "*", False),
Karl Zhang81a76772020-05-11 18:28:52 +0800355 ("psoc64", "*", "*", "*", True),
356 ("psoc64", "*", "*", "Debug", "*"),
357 ("psoc64", "*", "ConfigRegression", "*", "*"),
358 ("psoc64", "*", "ConfigCoreIPC", "*", "*"),
359 ("psoc64", "*", "ConfigCoreIPCTfmLevel2", "*", "*"),
360 ("psoc64", "*", "ConfigDefault", "*", "*")]
361 }
362
363# Configure build manager to build the maximum number of configurations
364config_full_gnuarm = {"seed_params": {
365 "target_platform": ["AN521", "AN519",
366 "MUSCA_A", "MUSCA_B1",
367 "AN524", "AN539",
368 "psoc64"],
369 "compiler": ["GNUARM"],
370 "proj_config": ["ConfigRegression",
371 "ConfigRegressionIPC",
372 "ConfigRegressionIPCTfmLevel2",
373 "ConfigCoreIPC",
374 "ConfigCoreIPCTfmLevel2",
375 "ConfigDefault"],
376 "cmake_build_type": ["Debug", "Release"],
377 "with_mcuboot": [True, False],
378 },
379 "common_params": _common_tfm_builder_cfg,
380 # invalid configuations can be added as tuples of adjustable
381 # resolution "AN521" will reject all combinations for that
382 # platform while ("AN521", "GNUARM") will only reject GCC ones
383 "invalid": [("MUSCA_A", "*", "*", "*", False),
384 ("MUSCA_B1", "*", "*", "*", False),
385 ("psoc64", "*", "*", "*", True),
386 ("psoc64", "*", "*", "Debug", "*"),
387 ("psoc64", "*", "ConfigRegression", "*", "*"),
388 ("psoc64", "*", "ConfigCoreIPC", "*", "*"),
389 ("psoc64", "*", "ConfigCoreIPCTfmLevel2", "*", "*"),
390 ("psoc64", "*", "ConfigDefault", "*", "*")]
Dean Birchd6ce2c82020-05-13 13:16:15 +0100391 }
392
393# Configure build manager to build the maximum number of configurations
Karl Zhangaff558a2020-05-15 14:28:23 +0100394config_tfm_test = {"seed_params": {
395 "target_platform": ["AN521", "MUSCA_A", "MUSCA_B1", "MUSCA_S1"],
396 "compiler": ["ARMCLANG", "GNUARM"],
397 "proj_config": ["ConfigRegression",
398 "ConfigRegressionIPC",
399 "ConfigRegressionIPCTfmLevel2",
400 "ConfigCoreIPC",
401 "ConfigCoreIPCTfmLevel2",
402 "ConfigDefault"],
403 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
404 "with_mcuboot": [True, False],
405 },
406 "common_params": _common_tfm_builder_cfg,
407 # invalid configuations can be added as tuples of adjustable
408 # resolution "AN521" will reject all combinations for that
409 # platform while ("AN521", "GNUARM") will only reject GCC ones
410 "invalid": [("MUSCA_A", "*", "*", "*", False),
411 ("MUSCA_S1", "*", "*", "*", False),
412 ("MUSCA_B1", "*", "*", "*", False)]
413 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800414
Karl Zhangaff558a2020-05-15 14:28:23 +0100415# Configure build manager to build the maximum number of configurations
416config_tfm_test2 = {"seed_params": {
417 "target_platform": ["AN519", "AN524", "AN539", "SSE-200_AWS"],
418 "compiler": ["ARMCLANG", "GNUARM"],
419 "proj_config": ["ConfigRegression",
420 "ConfigRegressionIPC",
421 "ConfigRegressionIPCTfmLevel2",
422 "ConfigCoreIPC",
423 "ConfigCoreIPCTfmLevel2",
424 "ConfigDefault"],
425 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
426 "with_mcuboot": [True, False],
427 },
428 "common_params": _common_tfm_builder_cfg,
429 # invalid configuations can be added as tuples of adjustable
430 # resolution "AN521" will reject all combinations for that
431 # platform while ("AN521", "GNUARM") will only reject GCC ones
432 "invalid": []
433 }
434
435# Configure build manager to build the maximum number of configurations
Karl Zhang14573bc2020-06-08 09:23:21 +0800436config_tfm_profile = {"seed_params": {
437 "target_platform": ["AN519", "AN521"],
438 "compiler": ["ARMCLANG", "GNUARM"],
439 "proj_config": ["ConfigDefaultProfileS",
440 "ConfigRegressionProfileS"],
441 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
442 "with_mcuboot": [True, False],
443 },
444 "common_params": _common_tfm_builder_cfg,
445 # invalid configuations can be added as tuples of adjustable
446 # resolution "AN521" will reject all combinations for that
447 # platform while ("AN521", "GNUARM") will only reject GCC ones
448 "invalid": []
449 }
450
451# Configure build manager to build the maximum number of configurations
Karl Zhangaff558a2020-05-15 14:28:23 +0100452config_tfm_test_OTP = {"seed_params": {
453 "target_platform": ["MUSCA_B1"],
454 "compiler": ["ARMCLANG", "GNUARM"],
455 "proj_config": ["ConfigRegression",
456 "ConfigRegressionIPC",
457 "ConfigRegressionIPCTfmLevel2",
458 "ConfigCoreIPC",
459 "ConfigCoreIPCTfmLevel2",
460 "ConfigDefault"],
461 "with_OTP": ["OTP"],
462 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
463 "with_mcuboot": [True],
464 },
465 "common_params": _common_tfm_builder_cfg,
466 # invalid configuations can be added as tuples of adjustable
467 # resolution "AN521" will reject all combinations for that
468 # platform while ("AN521", "GNUARM") will only reject GCC ones
469 "invalid": []
470 }
471
Minos Galanakisea421232019-06-20 17:11:28 +0100472config_MUSCA_A = {"seed_params": {
473 "target_platform": ["MUSCA_A"],
Karl Zhangaff558a2020-05-15 14:28:23 +0100474 "compiler": ["ARMCLANG", "GNUARM"],
Minos Galanakisea421232019-06-20 17:11:28 +0100475 "proj_config": ["ConfigRegression",
Karl Zhangaff558a2020-05-15 14:28:23 +0100476 "ConfigRegressionIPC",
477 "ConfigRegressionIPCTfmLevel2",
Minos Galanakisea421232019-06-20 17:11:28 +0100478 "ConfigCoreIPC",
479 "ConfigCoreIPCTfmLevel2",
480 "ConfigDefault"],
481 "cmake_build_type": ["Debug", "Release"],
482 "with_mcuboot": [True],
483 },
484 "common_params": _common_tfm_builder_cfg,
485 # invalid configuations can be added as tuples of adjustable
486 # resolution "AN521" will reject all combinations for that
487 # platform while ("AN521", "GNUARM") will only reject GCC
488 "invalid": [("MUSCA_A", "*", "*", "*", False)]
489 }
490
491config_MUSCA_B1 = {"seed_params": {
492 "target_platform": ["MUSCA_B1"],
Karl Zhangaff558a2020-05-15 14:28:23 +0100493 "compiler": ["ARMCLANG", "GNUARM"],
Minos Galanakisea421232019-06-20 17:11:28 +0100494 "proj_config": ["ConfigRegression",
Karl Zhangaff558a2020-05-15 14:28:23 +0100495 "ConfigRegressionIPC",
496 "ConfigRegressionIPCTfmLevel2",
Minos Galanakisea421232019-06-20 17:11:28 +0100497 "ConfigCoreIPC",
498 "ConfigCoreIPCTfmLevel2",
499 "ConfigDefault"],
500 "cmake_build_type": ["Debug", "Release"],
501 "with_mcuboot": [True],
502 },
503 "common_params": _common_tfm_builder_cfg,
504 # invalid configuations can be added as tuples of adjustable
505 # resolution "AN521" will reject all combinations for that
506 # platform while ("AN521", "GNUARM") will only reject GCC
507 "invalid": [("MUSCA_B1", "*", "*", "*", False)]
508 }
509
Karl Zhangeffed972020-06-30 15:48:01 +0800510config_MUSCA_S1 = {"seed_params": {
511 "target_platform": ["MUSCA_S1"],
512 "compiler": ["ARMCLANG", "GNUARM"],
513 "proj_config": ["ConfigRegression",
514 "ConfigRegressionIPC",
515 "ConfigRegressionIPCTfmLevel2",
516 "ConfigCoreIPC",
517 "ConfigCoreIPCTfmLevel2",
518 "ConfigDefault"],
519 "cmake_build_type": ["Debug", "Release"],
520 "with_mcuboot": [True],
521 },
522 "common_params": _common_tfm_builder_cfg,
523 # invalid configuations can be added as tuples of adjustable
524 # resolution "AN521" will reject all combinations for that
525 # platform while ("AN521", "GNUARM") will only reject GCC
526 "invalid": [("MUSCA_S1", "*", "*", "*", False)]
527 }
528
Karl Zhangaff558a2020-05-15 14:28:23 +0100529# Configure build manager to build the maximum number of configurations
530config_release = {"seed_params": {
531 "target_platform": ["AN521", "AN519",
532 "MUSCA_A", "MUSCA_B1", "MUSCA_S1",
533 "AN524", "AN539"],
534 "compiler": ["ARMCLANG", "GNUARM"],
535 "proj_config": ["ConfigRegression",
536 "ConfigRegressionIPC",
537 "ConfigRegressionIPCTfmLevel2",
538 "ConfigCoreIPC",
539 "ConfigCoreIPCTfmLevel2",
540 "ConfigDefault"],
541 "cmake_build_type": ["Debug", "Release", "MINSIZEREL"],
542 "with_mcuboot": [True, False],
543 },
544 "common_params": _common_tfm_builder_cfg,
545 # invalid configuations can be added as tuples of adjustable
546 # resolution "AN521" will reject all combinations for that
547 # platform while ("AN521", "GNUARM") will only reject GCC ones
548 "invalid": [("MUSCA_A", "*", "*", "*", False),
549 ("MUSCA_S1", "*", "*", "*", False),
550 ("MUSCA_B1", "*", "*", "*", False)]
551 }
552
553# Configure build manager to build several combinations
554config_AN521_PSA_API = {"seed_params": {
555 "target_platform": ["AN521", "AN519", "MUSCA_B1"],
556 "compiler": ["ARMCLANG", "GNUARM"],
557 "proj_config": ["ConfigPsaApiTest",
558 "ConfigPsaApiTestIPC",
559 "ConfigPsaApiTestIPCTfmLevel2"],
560 "psa_api_suit": ["CRYPTO",
561 "PROTECTED_STORAGE",
562 "INITIAL_ATTESTATION",
563 "INTERNAL_TRUSTED_STORAGE",
564 "IPC"],
565 "cmake_build_type": ["Debug", "Release", "MINSIZEREL"],
566 "with_mcuboot": [True],
567 },
568 "common_params": _common_tfm_builder_cfg,
569 # invalid configuations can be added as tuples of adjustable
570 # resolution "AN521" will reject all combinations for that
571 # platform while ("AN521", "GNUARM") will only reject GCC ones
572 "invalid": [("*", "*", "*", "IPC", "*", "*")]
573 }
574
575# Configure build manager to build several combinations
576config_AN521_PSA_IPC = {"seed_params": {
577 "target_platform": ["AN521", "AN519", "MUSCA_B1"],
578 "compiler": ["ARMCLANG", "GNUARM"],
579 "proj_config": ["ConfigPsaApiTestIPC",
580 "ConfigPsaApiTestIPCTfmLevel2"],
581 "psa_api_suit": ["IPC"],
582 "cmake_build_type": ["Debug", "Release", "MINSIZEREL"],
583 "with_mcuboot": [True],
584 },
585 "common_params": _common_tfm_builder_cfg,
586 # invalid configuations can be added as tuples of adjustable
587 # resolution "AN521" will reject all combinations for that
588 # platform while ("AN521", "GNUARM") will only reject GCC ones
589 "invalid": []
590 }
591
Karl Zhang14573bc2020-06-08 09:23:21 +0800592# Configure build manager to build the maximum number of configurations
593config_nightly = {"seed_params": {
594 "target_platform": ["AN521", "AN519",
595 "MUSCA_A", "MUSCA_B1", "MUSCA_S1",
596 "AN524", "AN539", "SSE-200_AWS",
597 "psoc64"],
598 "compiler": ["ARMCLANG", "GNUARM"],
599 "proj_config": ["ConfigRegression",
600 "ConfigRegressionIPC",
601 "ConfigRegressionIPCTfmLevel2",
602 "ConfigDefault"],
603 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
604 "with_mcuboot": [True, False],
605 },
606 "common_params": _common_tfm_builder_cfg,
607 # invalid configuations can be added as tuples of adjustable
608 # resolution "AN521" will reject all combinations for that
609 # platform while ("AN521", "GNUARM") will only reject GCC ones
610 "invalid": [("MUSCA_A", "*", "*", "*", False),
611 ("MUSCA_B1", "*", "*", "*", False),
Karl Zhangeffed972020-06-30 15:48:01 +0800612 ("MUSCA_S1", "*", "*", "*", False),
Karl Zhang14573bc2020-06-08 09:23:21 +0800613 ("psoc64", "*", "*", "*", True),
614 ("psoc64", "*", "*", "Debug", "*"),
615 ("psoc64", "*", "*", "Minsizerel", "*"),
616 ("psoc64", "*", "ConfigDefault", "*", "*"),
617 ("psoc64", "*", "ConfigRegression", "*", "*")]
618 }
619
620# Configure build manager to build the maximum number of configurations
621config_nightly_profile = {"seed_params": {
622 "target_platform": ["AN519", "AN521"],
623 "compiler": ["ARMCLANG", "GNUARM"],
624 "proj_config": ["ConfigDefaultProfileS",
625 "ConfigRegressionProfileS"],
626 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
627 "with_mcuboot": [True, False],
628 },
629 "common_params": _common_tfm_builder_cfg,
630 # invalid configuations can be added as tuples of adjustable
631 # resolution "AN521" will reject all combinations for that
632 # platform while ("AN521", "GNUARM") will only reject GCC ones
633 "invalid": []
634 }
635
636# Configure build manager to build several combinations
637config_nightly_PSA_API = {"seed_params": {
638 "target_platform": ["AN521"],
639 "compiler": ["ARMCLANG", "GNUARM"],
640 "proj_config": ["ConfigPsaApiTest",
641 "ConfigPsaApiTestIPC",
642 "ConfigPsaApiTestIPCTfmLevel2"],
643 "psa_api_suit": ["CRYPTO",
644 "PROTECTED_STORAGE",
645 "INITIAL_ATTESTATION",
646 "INTERNAL_TRUSTED_STORAGE"],
647 "cmake_build_type": ["Debug", "Release"],
648 "with_mcuboot": [True],
649 },
650 "common_params": _common_tfm_builder_cfg,
651 # invalid configuations can be added as tuples of adjustable
652 # resolution "AN521" will reject all combinations for that
653 # platform while ("AN521", "GNUARM") will only reject GCC ones
654 "invalid": []
655 }
656
657# Configure build manager to build several combinations
658config_nightly_PSA_FF = {"seed_params": {
659 "target_platform": ["AN521"],
660 "compiler": ["ARMCLANG", "GNUARM"],
661 "proj_config": ["ConfigPsaApiTestIPC",
662 "ConfigPsaApiTestIPCTfmLevel2"],
663 # Prefer to use "IPC" from compile command perspective
664 # But the name style is prefer "FF"
665 "psa_api_suit": ["FF"],
666 "cmake_build_type": ["Debug", "Release"],
667 "with_mcuboot": [True],
668 },
669 "common_params": _common_tfm_builder_cfg,
670 # invalid configuations can be added as tuples of adjustable
671 # resolution "AN521" will reject all combinations for that
672 # platform while ("AN521", "GNUARM") will only reject GCC ones
673 "invalid": []
674 }
675
676# Configure build manager to build the maximum number of configurations
677config_nightly_OTP = {"seed_params": {
678 "target_platform": ["MUSCA_B1"],
679 "compiler": ["ARMCLANG", "GNUARM"],
680 "proj_config": ["ConfigRegression",
681 "ConfigRegressionIPC",
682 "ConfigRegressionIPCTfmLevel2"],
683 "with_OTP": ["OTP"],
684 "cmake_build_type": ["Debug", "Release"],
685 "with_mcuboot": [True],
686 },
687 "common_params": _common_tfm_builder_cfg,
688 # invalid configuations can be added as tuples of adjustable
689 # resolution "AN521" will reject all combinations for that
690 # platform while ("AN521", "GNUARM") will only reject GCC ones
691 "invalid": []
692 }
693
694# Configure build manager to build the maximum number of configurations
695config_pp_test = {"seed_params": {
696 "target_platform": ["AN521", "AN519", "MUSCA_B1"],
697 "compiler": ["ARMCLANG", "GNUARM"],
698 "proj_config": ["ConfigRegression",
699 "ConfigRegressionIPC",
700 "ConfigRegressionIPCTfmLevel2",
701 "ConfigRegressionProfileS"],
702 "cmake_build_type": ["Release"],
703 "with_mcuboot": [True],
704 },
705 "common_params": _common_tfm_builder_cfg,
706 # invalid configuations can be added as tuples of adjustable
707 # resolution "AN521" will reject all combinations for that
708 # platform while ("AN521", "GNUARM") will only reject GCC ones
709 "invalid": [("MUSCA_B1", "*", "ConfigRegressionProfileS", "*", "*")]
710 }
711
712# Configure build manager to build the maximum number of configurations
713config_pp_OTP = {"seed_params": {
714 "target_platform": ["MUSCA_B1"],
715 "compiler": ["GNUARM"],
716 "proj_config": ["ConfigRegression",
717 "ConfigRegressionIPC",
718 "ConfigRegressionIPCTfmLevel2"],
719 "with_OTP": ["OTP"],
720 "cmake_build_type": ["Release"],
721 "with_mcuboot": [True],
722 },
723 "common_params": _common_tfm_builder_cfg,
724 # invalid configuations can be added as tuples of adjustable
725 # resolution "AN521" will reject all combinations for that
726 # platform while ("AN521", "GNUARM") will only reject GCC ones
727 "invalid": []
728 }
729
730# Configure build manager to build several combinations
731config_pp_PSA_API = {"seed_params": {
732 "target_platform": ["AN521"],
733 "compiler": ["GNUARM"],
734 "proj_config": ["ConfigPsaApiTestIPCTfmLevel2"],
735 "psa_api_suit": ["FF",
736 "CRYPTO",
737 "PROTECTED_STORAGE",
738 "INITIAL_ATTESTATION",
739 "INTERNAL_TRUSTED_STORAGE"],
740 "cmake_build_type": ["Release"],
741 "with_mcuboot": [True],
742 },
743 "common_params": _common_tfm_builder_cfg,
744 # invalid configuations can be added as tuples of adjustable
745 # resolution "AN521" will reject all combinations for that
746 # platform while ("AN521", "GNUARM") will only reject GCC ones
747 "invalid": []
748 }
749
750# Configure build manager to build several combinations
751config_pp_PSoC64 = {"seed_params": {
752 "target_platform": ["psoc64"],
753 "compiler": ["GNUARM"],
754 "proj_config": ["ConfigRegressionIPC",
755 "ConfigRegressionIPCTfmLevel2"],
756 "cmake_build_type": ["Release"],
757 "with_mcuboot": [False],
758 },
759 "common_params": _common_tfm_builder_cfg,
760 # invalid configuations can be added as tuples of adjustable
761 # resolution "AN521" will reject all combinations for that
762 # platform while ("AN521", "GNUARM") will only reject GCC ones
763 "invalid": []
764 }
765
Minos Galanakisea421232019-06-20 17:11:28 +0100766# Configruation used for document building
767config_doxygen = {"common_params": {
768 "config_type": "tf-m_documents",
769 "codebase_root_dir": "tf-m",
770 "build_cmds": {"all": ["cmake -G \"Unix Makefiles\" "
771 "-DPROJ_CONFIG=`readlink -f "
772 "%(_tbm_code_dir_)s/"
773 "configs/ConfigDefault.cmake` "
774 "-DTARGET_PLATFORM=AN521 "
775 "-DCOMPILER=GNUARM "
776 "-DCMAKE_BUILD_TYPE=Debug "
777 "-DBL2=True "
778 "%(_tbm_code_dir_)s/",
779 "cmake --build ./ -- install_doc",
780 "cmake --build ./ "
781 "-- install_userguide"]},
782 "artifact_capture_rex": r'%(_tbm_build_dir_)s/install/'
783 r'doc/reference_manual/(?:pdf|html)'
784 r'/(\w+\.(?:html|md|pdf))$',
785 },
786 "invalid": []
787 }
788
Karl Zhangaff558a2020-05-15 14:28:23 +0100789# Configuration used in testing
Minos Galanakisea421232019-06-20 17:11:28 +0100790config_debug = {"seed_params": {
791 "target_platform": ["AN521"],
792 "compiler": ["ARMCLANG"],
793 "proj_config": ["ConfigDefault"],
794 "cmake_build_type": ["Debug"],
795 "with_mcuboot": [True],
796 },
797 "common_params": _common_tfm_builder_cfg,
Karl Zhangaff558a2020-05-15 14:28:23 +0100798 # invalid configurations can be added as tuples of adjustable
Minos Galanakisea421232019-06-20 17:11:28 +0100799 # resolution "AN521" will reject all combinations for that
800 # platform while ("AN521", "GNUARM") will only reject GCC ones
801 "invalid": [("*", "GNUARM", "*", "*", False),
802 ("AN521", "ARMCLANG", "ConfigRegression",
803 "Release", False),
804 ]
805 }
806
Dean Birch4c6ad622020-03-13 11:28:03 +0000807# Configuration used in CI
808config_ci = {
809 "seed_params": {
810 "target_platform": ["AN521"],
811 "compiler": ["ARMCLANG", "GNUARM"],
Matthew Hartfb6fd362020-03-04 21:03:59 +0000812 "proj_config": ["ConfigDefault", "ConfigCoreIPCTfmLevel2", "ConfigCoreIPC", "ConfigRegression"],
813 "cmake_build_type": ["Release"],
814 "with_mcuboot": [True, False],
815 },
816 "common_params": _common_tfm_builder_cfg,
817 "invalid": [
818 ("AN521", "ARMCLANG", "ConfigDefault", "Release", False),
819 ("AN521", "ARMCLANG", "ConfigCoreIPCTfmLevel2", "Release", False),
820 ("AN521", "ARMCLANG", "ConfigCoreIPCTfmLevel2", "Release", True),
821 ("AN521", "ARMCLANG", "ConfigCoreIPC", "Release", False),
822 ("AN521", "ARMCLANG", "ConfigCoreIPC", "Release", True),
823 ("AN521", "ARMCLANG", "ConfigRegression", "Release", False),
824 ("AN521", "ARMCLANG", "ConfigRegression", "Release", True),
825 ],
826}
827
Dean Birchd6ce2c82020-05-13 13:16:15 +0100828# Configuration used in CI if armclang not available
829config_ci_gnuarm = {
830 "seed_params": {
831 "target_platform": ["AN521"],
832 "compiler": ["ARMCLANG", "GNUARM"],
833 "proj_config": ["ConfigDefault", "ConfigCoreIPCTfmLevel2", "ConfigCoreIPC", "ConfigRegression"],
834 "cmake_build_type": ["Release"],
835 "with_mcuboot": [True, False],
836 },
837 "common_params": _common_tfm_builder_cfg,
838 "invalid": [
839 ("AN521", "ARMCLANG", "ConfigDefault", "Release", False),
840 ("AN521", "ARMCLANG", "ConfigCoreIPCTfmLevel2", "Release", False),
841 ("AN521", "ARMCLANG", "ConfigCoreIPCTfmLevel2", "Release", True),
842 ("AN521", "ARMCLANG", "ConfigCoreIPC", "Release", False),
843 ("AN521", "ARMCLANG", "ConfigCoreIPC", "Release", True),
844 ("AN521", "ARMCLANG", "ConfigRegression", "Release", False),
845 ("AN521", "ARMCLANG", "ConfigRegression", "Release", True),
846 ("*", "ARMCLANG", "*", "*", "*"), # Disable ARMCLANG for now
847 ],
848}
849
850
Matthew Hartfb6fd362020-03-04 21:03:59 +0000851config_lava_debug = {
852 "seed_params": {
Matthew Hart2c2688f2020-05-26 13:09:20 +0100853 "target_platform": ["AN521", "AN519"],
Matthew Hartfb6fd362020-03-04 21:03:59 +0000854 "compiler": ["GNUARM"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100855 "proj_config": ["ConfigRegressionIPC", "ConfigRegressionIPCTfmLevel2", "ConfigRegression"],
Dean Birch4c6ad622020-03-13 11:28:03 +0000856 "cmake_build_type": ["Release"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100857 "with_mcuboot": [True, False],
Dean Birch4c6ad622020-03-13 11:28:03 +0000858 },
859 "common_params": _common_tfm_builder_cfg,
860 "invalid": [
861 ("AN521", "ARMCLANG", "ConfigDefault", "Release", True),
862 ("AN521", "GNUARM", "ConfigCoreIPCTfmLevel2", "Release", True),
863 ],
864}
865
Karl Zhangeea16ed2020-06-15 15:03:12 +0800866#GNU groups for external CI only
867# Configure build manager to build the maximum number of configurations
868config_tfm_test_gnu = {"seed_params": {
869 "target_platform": ["AN521", "MUSCA_A", "MUSCA_B1", "MUSCA_S1"],
870 "compiler": ["GNUARM"],
871 "proj_config": ["ConfigRegression",
872 "ConfigRegressionIPC",
873 "ConfigRegressionIPCTfmLevel2",
874 "ConfigCoreIPC",
875 "ConfigCoreIPCTfmLevel2",
876 "ConfigDefault"],
877 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
878 "with_mcuboot": [True, False],
879 },
880 "common_params": _common_tfm_builder_cfg,
881 # invalid configuations can be added as tuples of adjustable
882 # resolution "AN521" will reject all combinations for that
883 # platform while ("AN521", "GNUARM") will only reject GCC ones
884 "invalid": [("MUSCA_A", "*", "*", "*", False),
885 ("MUSCA_S1", "*", "*", "*", False),
886 ("MUSCA_B1", "*", "*", "*", False)]
887 }
888
889# Configure build manager to build the maximum number of configurations
890config_tfm_test2_gnu = {"seed_params": {
891 "target_platform": ["AN519", "AN524", "AN539", "SSE-200_AWS"],
892 "compiler": ["GNUARM"],
893 "proj_config": ["ConfigRegression",
894 "ConfigRegressionIPC",
895 "ConfigRegressionIPCTfmLevel2",
896 "ConfigCoreIPC",
897 "ConfigCoreIPCTfmLevel2",
898 "ConfigDefault"],
899 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
900 "with_mcuboot": [True, False],
901 },
902 "common_params": _common_tfm_builder_cfg,
903 # invalid configuations can be added as tuples of adjustable
904 # resolution "AN521" will reject all combinations for that
905 # platform while ("AN521", "GNUARM") will only reject GCC ones
906 "invalid": []
907 }
908
909# Configure build manager to build the maximum number of configurations
910config_tfm_profile_gnu = {"seed_params": {
911 "target_platform": ["AN519", "AN521"],
912 "compiler": ["GNUARM"],
913 "proj_config": ["ConfigDefaultProfileS",
914 "ConfigRegressionProfileS"],
915 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
916 "with_mcuboot": [True, False],
917 },
918 "common_params": _common_tfm_builder_cfg,
919 # invalid configuations can be added as tuples of adjustable
920 # resolution "AN521" will reject all combinations for that
921 # platform while ("AN521", "GNUARM") will only reject GCC ones
922 "invalid": []
923 }
924
925# Configure build manager to build the maximum number of configurations
926config_tfm_test_OTP_gnu = {"seed_params": {
927 "target_platform": ["MUSCA_B1"],
928 "compiler": ["GNUARM"],
929 "proj_config": ["ConfigRegression",
930 "ConfigRegressionIPC",
931 "ConfigRegressionIPCTfmLevel2",
932 "ConfigCoreIPC",
933 "ConfigCoreIPCTfmLevel2",
934 "ConfigDefault"],
935 "with_OTP": ["OTP"],
936 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
937 "with_mcuboot": [True],
938 },
939 "common_params": _common_tfm_builder_cfg,
940 # invalid configuations can be added as tuples of adjustable
941 # resolution "AN521" will reject all combinations for that
942 # platform while ("AN521", "GNUARM") will only reject GCC ones
943 "invalid": []
944 }
945
946# Configure build manager to build several combinations
947config_PSA_API_gnu = {"seed_params": {
948 "target_platform": ["AN521", "MUSCA_B1"],
949 "compiler": ["GNUARM"],
950 "proj_config": ["ConfigPsaApiTest",
951 "ConfigPsaApiTestIPC",
952 "ConfigPsaApiTestIPCTfmLevel2"],
953 "psa_api_suit": ["CRYPTO",
954 "PROTECTED_STORAGE",
955 "INITIAL_ATTESTATION",
956 "INTERNAL_TRUSTED_STORAGE"],
957 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
958 "with_mcuboot": [True],
959 },
960 "common_params": _common_tfm_builder_cfg,
961 # invalid configuations can be added as tuples of adjustable
962 # resolution "AN521" will reject all combinations for that
963 # platform while ("AN521", "GNUARM") will only reject GCC ones
964 "invalid": []
965 }
966
967# Configure build manager to build several combinations
968config_PSA_FF_gnu = {"seed_params": {
969 "target_platform": ["AN521", "MUSCA_B1"],
970 "compiler": ["GNUARM"],
971 "proj_config": ["ConfigPsaApiTestIPC",
972 "ConfigPsaApiTestIPCTfmLevel2"],
973 # Prefer to use "IPC" from compile command perspective
974 # But the name style is prefer "FF"
975 "psa_api_suit": ["FF"],
976 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
977 "with_mcuboot": [True],
978 },
979 "common_params": _common_tfm_builder_cfg,
980 # invalid configuations can be added as tuples of adjustable
981 # resolution "AN521" will reject all combinations for that
982 # platform while ("AN521", "GNUARM") will only reject GCC ones
983 "invalid": []
984 }
985
986# Configure build manager to build several combinations
987config_PSA_API_OTP_gnu = {"seed_params": {
988 "target_platform": ["MUSCA_B1"],#
989 "compiler": ["GNUARM"],
990 "proj_config": ["ConfigPsaApiTest",
991 "ConfigPsaApiTestIPC",
992 "ConfigPsaApiTestIPCTfmLevel2"],
993 "psa_api_suit": ["CRYPTO",
994 "PROTECTED_STORAGE",
995 "INITIAL_ATTESTATION",
996 "INTERNAL_TRUSTED_STORAGE"],
997 "with_OTP": ["OTP"],
998 "cmake_build_type": ["Debug", "Release", "Minsizerel"],#
999 "with_mcuboot": [True],
1000 },
1001 "common_params": _common_tfm_builder_cfg,
1002 # invalid configuations can be added as tuples of adjustable
1003 # resolution "AN521" will reject all combinations for that
1004 # platform while ("AN521", "GNUARM") will only reject GCC ones
1005 "invalid": []
1006 }
1007
1008# Configure build manager to build several combinations
1009config_PSA_FF_OTP_gnu = {"seed_params": {
1010 "target_platform": ["MUSCA_B1"],
1011 "compiler": ["GNUARM"],
1012 "proj_config": ["ConfigPsaApiTestIPC",
1013 "ConfigPsaApiTestIPCTfmLevel2"],
1014 # Prefer to use "IPC" from compile command perspective
1015 # But the name style is prefer "FF"
1016 "psa_api_suit": ["FF"],
1017 "with_OTP": ["OTP"],
1018 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
1019 "with_mcuboot": [True],
1020 },
1021 "common_params": _common_tfm_builder_cfg,
1022 # invalid configuations can be added as tuples of adjustable
1023 # resolution "AN521" will reject all combinations for that
1024 # platform while ("AN521", "GNUARM") will only reject GCC ones
1025 "invalid": []
1026 }
1027
1028# Configure build manager to build several combinations
1029config_PSOC64_gnu = {"seed_params": {
1030 "target_platform": ["psoc64"],
1031 "compiler": ["GNUARM"],
1032 "proj_config": ["ConfigRegressionIPC",
1033 "ConfigRegressionIPCTfmLevel2"],
1034 "cmake_build_type": ["Release"],
1035 "with_mcuboot": [False],
1036 },
1037 "common_params": _common_tfm_builder_cfg,
1038 # invalid configuations can be added as tuples of adjustable
1039 # resolution "AN521" will reject all combinations for that
1040 # platform while ("AN521", "GNUARM") will only reject GCC ones
1041 "invalid": []
1042 }
1043
1044# Configure build manager to build the maximum number of configurations
1045config_nightly_gnu = {"seed_params": {
1046 "target_platform": ["AN521", "AN519",
1047 "MUSCA_A", "MUSCA_B1", "MUSCA_S1",
1048 "AN524", "AN539", "SSE-200_AWS",
1049 "psoc64"],
1050 "compiler": ["GNUARM"],
1051 "proj_config": ["ConfigRegression",
1052 "ConfigRegressionIPC",
1053 "ConfigRegressionIPCTfmLevel2",
1054 "ConfigDefault"],
1055 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
1056 "with_mcuboot": [True, False],
1057 },
1058 "common_params": _common_tfm_builder_cfg,
1059 # invalid configuations can be added as tuples of adjustable
1060 # resolution "AN521" will reject all combinations for that
1061 # platform while ("AN521", "GNUARM") will only reject GCC ones
1062 "invalid": [("MUSCA_A", "*", "*", "*", False),
1063 ("MUSCA_B1", "*", "*", "*", False),
Karl Zhangeffed972020-06-30 15:48:01 +08001064 ("MUSCA_S1", "*", "*", "*", False),
Karl Zhangeea16ed2020-06-15 15:03:12 +08001065 ("psoc64", "*", "*", "*", True),
1066 ("psoc64", "*", "*", "Debug", "*"),
1067 ("psoc64", "*", "*", "Minsizerel", "*"),
1068 ("psoc64", "*", "ConfigDefault", "*", "*"),
1069 ("psoc64", "*", "ConfigRegression", "*", "*")]
1070 }
1071
1072# Configure build manager to build the maximum number of configurations
1073config_nightly_profile_gnu = {"seed_params": {
1074 "target_platform": ["AN519", "AN521"],
1075 "compiler": ["GNUARM"],
1076 "proj_config": ["ConfigDefaultProfileS",
1077 "ConfigRegressionProfileS"],
1078 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
1079 "with_mcuboot": [True, False],
1080 },
1081 "common_params": _common_tfm_builder_cfg,
1082 # invalid configuations can be added as tuples of adjustable
1083 # resolution "AN521" will reject all combinations for that
1084 # platform while ("AN521", "GNUARM") will only reject GCC ones
1085 "invalid": []
1086 }
1087
1088# Configure build manager to build several combinations
1089config_nightly_PSA_API_gnu = {"seed_params": {
1090 "target_platform": ["AN521"],
1091 "compiler": ["GNUARM"],
1092 "proj_config": ["ConfigPsaApiTest",
1093 "ConfigPsaApiTestIPC",
1094 "ConfigPsaApiTestIPCTfmLevel2"],
1095 "psa_api_suit": ["CRYPTO",
1096 "PROTECTED_STORAGE",
1097 "INITIAL_ATTESTATION",
1098 "INTERNAL_TRUSTED_STORAGE"],
1099 "cmake_build_type": ["Debug", "Release"],
1100 "with_mcuboot": [True],
1101 },
1102 "common_params": _common_tfm_builder_cfg,
1103 # invalid configuations can be added as tuples of adjustable
1104 # resolution "AN521" will reject all combinations for that
1105 # platform while ("AN521", "GNUARM") will only reject GCC ones
1106 "invalid": []
1107 }
1108
1109# Configure build manager to build several combinations
1110config_nightly_PSA_FF_gnu = {"seed_params": {
1111 "target_platform": ["AN521"],
1112 "compiler": ["GNUARM"],
1113 "proj_config": ["ConfigPsaApiTestIPC",
1114 "ConfigPsaApiTestIPCTfmLevel2"],
1115 # Prefer to use "IPC" from compile command perspective
1116 # But the name style is prefer "FF"
1117 "psa_api_suit": ["FF"],
1118 "cmake_build_type": ["Debug", "Release"],
1119 "with_mcuboot": [True],
1120 },
1121 "common_params": _common_tfm_builder_cfg,
1122 # invalid configuations can be added as tuples of adjustable
1123 # resolution "AN521" will reject all combinations for that
1124 # platform while ("AN521", "GNUARM") will only reject GCC ones
1125 "invalid": []
1126 }
1127
1128# Configure build manager to build the maximum number of configurations
1129config_nightly_OTP_gnu = {"seed_params": {
1130 "target_platform": ["MUSCA_B1"],
1131 "compiler": ["GNUARM"],
1132 "proj_config": ["ConfigRegression",
1133 "ConfigRegressionIPC",
1134 "ConfigRegressionIPCTfmLevel2"],
1135 "with_OTP": ["OTP"],
1136 "cmake_build_type": ["Debug", "Release"],
1137 "with_mcuboot": [True],
1138 },
1139 "common_params": _common_tfm_builder_cfg,
1140 # invalid configuations can be added as tuples of adjustable
1141 # resolution "AN521" will reject all combinations for that
1142 # platform while ("AN521", "GNUARM") will only reject GCC ones
1143 "invalid": []
1144 }
1145
1146# Configure build manager to build the maximum number of configurations
1147config_pp_test_gnu = {"seed_params": {
1148 "target_platform": ["AN521", "AN519", "MUSCA_B1"],
1149 "compiler": ["GNUARM"],
1150 "proj_config": ["ConfigRegression",
1151 "ConfigRegressionIPC",
1152 "ConfigRegressionIPCTfmLevel2",
1153 "ConfigRegressionProfileS"],
1154 "cmake_build_type": ["Release"],
1155 "with_mcuboot": [True],
1156 },
1157 "common_params": _common_tfm_builder_cfg,
1158 # invalid configuations can be added as tuples of adjustable
1159 # resolution "AN521" will reject all combinations for that
1160 # platform while ("AN521", "GNUARM") will only reject GCC ones
1161 "invalid": [("MUSCA_B1", "*", "ConfigRegressionProfileS", "*", "*")]
1162 }
1163
1164# Configure build manager to build the maximum number of configurations
1165config_pp_OTP_gnu = {"seed_params": {
1166 "target_platform": ["MUSCA_B1"],
1167 "compiler": ["GNUARM"],
1168 "proj_config": ["ConfigRegression",
1169 "ConfigRegressionIPC",
1170 "ConfigRegressionIPCTfmLevel2"],
1171 "with_OTP": ["OTP"],
1172 "cmake_build_type": ["Release"],
1173 "with_mcuboot": [True],
1174 },
1175 "common_params": _common_tfm_builder_cfg,
1176 # invalid configuations can be added as tuples of adjustable
1177 # resolution "AN521" will reject all combinations for that
1178 # platform while ("AN521", "GNUARM") will only reject GCC ones
1179 "invalid": []
1180 }
1181
1182# Configure build manager to build several combinations
1183config_pp_PSA_API_gnu = {"seed_params": {
1184 "target_platform": ["AN521"],
1185 "compiler": ["GNUARM"],
1186 "proj_config": ["ConfigPsaApiTestIPCTfmLevel2"],
1187 "psa_api_suit": ["FF",
1188 "CRYPTO",
1189 "PROTECTED_STORAGE",
1190 "INITIAL_ATTESTATION",
1191 "INTERNAL_TRUSTED_STORAGE"],
1192 "cmake_build_type": ["Release"],
1193 "with_mcuboot": [True],
1194 },
1195 "common_params": _common_tfm_builder_cfg,
1196 # invalid configuations can be added as tuples of adjustable
1197 # resolution "AN521" will reject all combinations for that
1198 # platform while ("AN521", "GNUARM") will only reject GCC ones
1199 "invalid": []
1200 }
1201
1202# Configure build manager to build several combinations
1203config_pp_PSoC64_gnu = {"seed_params": {
1204 "target_platform": ["psoc64"],
1205 "compiler": ["GNUARM"],
1206 "proj_config": ["ConfigRegressionIPC",
1207 "ConfigRegressionIPCTfmLevel2"],
1208 "cmake_build_type": ["Release"],
1209 "with_mcuboot": [False],
1210 },
1211 "common_params": _common_tfm_builder_cfg,
1212 # invalid configuations can be added as tuples of adjustable
1213 # resolution "AN521" will reject all combinations for that
1214 # platform while ("AN521", "GNUARM") will only reject GCC ones
1215 "invalid": []
1216 }
1217
Karl Zhangaff558a2020-05-15 14:28:23 +01001218_builtin_configs = {
Karl Zhang14573bc2020-06-08 09:23:21 +08001219 #release test group
Karl Zhangaff558a2020-05-15 14:28:23 +01001220 "tfm_test": config_tfm_test,
1221 "tfm_test2": config_tfm_test2,
Karl Zhang14573bc2020-06-08 09:23:21 +08001222 "tfm_profile": config_tfm_profile,
Karl Zhangaff558a2020-05-15 14:28:23 +01001223 "tfm_test_otp": config_tfm_test_OTP,
1224 "psa_api": config_PSA_API,
1225 "psa_api_otp": config_PSA_API_OTP,
1226 "psa_ff": config_PSA_FF,
1227 "psa_ff_otp": config_PSA_FF_OTP,
Karl Zhang14573bc2020-06-08 09:23:21 +08001228 "tfm_psoc64": config_PSOC64,
1229
1230 #nightly test group
1231 "nightly_test": config_nightly,
1232 "nightly_profile": config_nightly_profile,
1233 "nightly_psa_api": config_nightly_PSA_API,
1234 "nightly_ff": config_nightly_PSA_FF,
1235 "nightly_otp": config_nightly_OTP,
1236
1237 #per patch test group
1238 "pp_test": config_pp_test,
1239 "pp_OTP": config_pp_OTP,
1240 "pp_PSA_API": config_pp_PSA_API,
1241 "pp_psoc64": config_pp_PSoC64,
1242
Karl Zhangeea16ed2020-06-15 15:03:12 +08001243 #GNU only configs against groups above
1244 #The combinations should be the same except the CLANG ones
1245 #release test group (GNU)
1246 "tfm_test_gnu": config_tfm_test_gnu,
1247 "tfm_test2_gnu": config_tfm_test2_gnu,
1248 "tfm_profile_gnu": config_tfm_profile_gnu,
1249 "tfm_test_otp_gnu": config_tfm_test_OTP_gnu,
1250 "psa_api_gnu": config_PSA_API_gnu,
1251 "psa_api_otp_gnu": config_PSA_API_OTP_gnu,
1252 "psa_ff_gnu": config_PSA_FF_gnu,
1253 "psa_ff_otp_gnu": config_PSA_FF_OTP_gnu,
1254 "tfm_psoc64_gnu": config_PSOC64_gnu,
1255
1256 #nightly test group (GNU)
1257 "nightly_test_gnu": config_nightly_gnu,
1258 "nightly_profile_gnu": config_nightly_profile_gnu,
1259 "nightly_psa_api_gnu": config_nightly_PSA_API_gnu,
1260 "nightly_ff_gnu": config_nightly_PSA_FF_gnu,
1261 "nightly_otp_gnu": config_nightly_OTP_gnu,
1262
1263 #per patch test group (GNU)
1264 "pp_test_gnu": config_pp_test_gnu,
1265 "pp_OTP_gnu": config_pp_OTP_gnu,
1266 "pp_PSA_API_gnu": config_pp_PSA_API_gnu,
1267 "pp_psoc64_gnu": config_pp_PSoC64_gnu,
1268
1269
Karl Zhang14573bc2020-06-08 09:23:21 +08001270 #full test group in the old CI
Karl Zhangaff558a2020-05-15 14:28:23 +01001271 "full": config_full,
Karl Zhang14573bc2020-06-08 09:23:21 +08001272
1273 #specific test group
Karl Zhangaff558a2020-05-15 14:28:23 +01001274 "an539": config_AN539,
1275 "an524": config_AN524,
Minos Galanakisea421232019-06-20 17:11:28 +01001276 "an521": config_AN521,
Karl Zhang14573bc2020-06-08 09:23:21 +08001277 "an521_psa_api": config_AN521_PSA_API,
1278 "an521_psa_ipc": config_AN521_PSA_IPC,
Minos Galanakisea421232019-06-20 17:11:28 +01001279 "an519": config_AN519,
1280 "musca_a": config_MUSCA_A,
1281 "musca_b1": config_MUSCA_B1,
Karl Zhangeffed972020-06-30 15:48:01 +08001282 "musca_s1": config_MUSCA_S1,
Karl Zhang96dfe2d2020-05-11 11:31:40 +08001283 "psoc64": config_PSOC64,
Minos Galanakisea421232019-06-20 17:11:28 +01001284 "ipc": config_IPC,
1285 "doxygen": config_doxygen,
Dean Birch4c6ad622020-03-13 11:28:03 +00001286 "debug": config_debug,
Karl Zhangaff558a2020-05-15 14:28:23 +01001287 "release": config_release,
Matthew Hartfb6fd362020-03-04 21:03:59 +00001288 "debug": config_debug,
Karl Zhang14573bc2020-06-08 09:23:21 +08001289
1290 #DevOps team test group
1291 "full_gnuarm": config_full_gnuarm,
Matthew Hartfb6fd362020-03-04 21:03:59 +00001292 "lava_debug": config_lava_debug,
Dean Birchd6ce2c82020-05-13 13:16:15 +01001293 "ci": config_ci,
1294 "ci_gnuarm": config_ci_gnuarm}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001295
1296if __name__ == '__main__':
1297 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001298
Minos Galanakisea421232019-06-20 17:11:28 +01001299 # Default behavior is to export refference config when called
1300 _dir = os.getcwd()
1301 from utils import save_json
1302 for _cname, _cfg in _builtin_configs.items():
1303 _fname = os.path.join(_dir, _cname + ".json")
1304 print("Exporting config %s" % _fname)
1305 save_json(_fname, _cfg)