Build: Add extra_params to support ST specific configs

ST requires to cover some specific configs on Open CI.
To make tfm_build_manager more flexible to support different configs,
add 'extra_params' which can be mapped to any specific configs.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: Ia64e002695c19056ee215919564c6493e1a152fd
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 2b3fe48..0f535df 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -44,7 +44,8 @@
                    "nsce",
                    "mmio",
                    "fp",
-                   "lazy"],
+                   "lazy",
+                   "extra_params"],
 
     # Keys for the templace will come from the combinations of parameters
     # provided in the seed dictionary.
@@ -70,6 +71,7 @@
         "-DPSA_FRAMEWORK_HAS_MM_IOVEC=%(mmio)s " + \
         "-DCONFIG_TFM_SPE_FP=%(fp)s " + \
         "-DCONFIG_TFM_LAZY_STACKING_SPE=%(lazy)s " + \
+        "%(extra_params)s " + \
         "%(codebase_root_dir)s",
 
     # A small subset of  string substitution params is allowed in commands.
@@ -148,103 +150,103 @@
 # List of all build configs that are impossible under all circumstances
 _common_tfm_invalid_configs = [
     # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
-    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*", "*", "*"),
     # Load range overlap on Musca for IPC Debug type: T895
-    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Oversize issue on config lpcxpresso55s69_GNUARM_IPC_2_Relwithdebinfo_BL2_NS_MEDIUM
     ("nxp/lpcxpresso55s69", "toolchain_GNUARM.cmake", False, "2", False, "OFF",
-     "Relwithdebinfo", "off", True, True, "profile_medium", "ON", "OFF", "OFF", "*", "*"),
+     "Relwithdebinfo", "off", True, True, "profile_medium", "ON", "OFF", "OFF", "*", "*", "*"),
     # Oversize issue on config stm32l562e_dk_ARMCLANG_LIB_1_REG_Release_BL2_NS
     ("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake", True, "1", True, "OFF",
-     "Release", "off", True, True, "", "ON", "OFF", "OFF", "*", "*"),
+     "Release", "off", True, True, "", "ON", "OFF", "OFF", "*", "*", "*"),
     # LVL2 and LVL3 requires IPC model
-    ("*", "*", True, "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", True, "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", True, "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", True, "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Regression requires NS
-    ("*", "*", "*", "*", True, "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*"),
     # psoc64 requires IPC model
-    ("cypress/psoc64", "*", True, "*", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # No PSA_ACK with regression
-    ("*", "*", "*", "*", True, "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # PSA_ACK requires NS
-    ("*", "*", "*", "*", "*", "IPC", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "STORAGE", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "IPC", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "STORAGE", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*"),
     # PSA_ACK IPC (FF) does not support LVL3
-    ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Musca requires BL2
-    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*",  "*", False, "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "*", "*", "*", "*", "*", "*",  "*", False, "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*", "*"),
     # psoc64 cannot use BL2
-    ("cypress/psoc64", "*", "*", "*", "*", "*", "*",  "*", True, "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*"),
     # psoc64 does not support Debug build type
-    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Musca b1 SSE 200 does not support Profile S
-    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
     # Musca B1 Secure Enclave requires IPC model, BL2, and supports only Isolation Level 1
-    ("arm/musca_b1/secure_enclave", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*",  "*", False, "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Musca B1 Secure Enclave does not support tests, profiles, NS side building
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*"),
     # PARTITION_PS could be OFF only for Profile S and M
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "", "OFF", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "OFF", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "", "OFF", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "OFF", "*", "*", "*", "*", "*"),
     # PARTITION_PS should be OFF for Profile S
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "ON", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "ON", "*", "*", "*", "*", "*"),
     # Proile M only support for IPC model
-    ("*", "*", True, "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+    ("*", "*", True, "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
     # Profile M only support for Isolation Level 2
-    ("*", "*", "*", "1", "*", "*", "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
     # Profile L only support for Isolation Level 3
-    ("*", "*", "*", "1", "*", "*", "*",  "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "2", "*", "*", "*",  "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
     # Profile S does not support IPC model
-    ("*", "*", False, "*", "*", "*", "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+    ("*", "*", False, "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
     # Profile S only supports Isolation Level 1
-    ("*", "*", "*", "2", "*", "*", "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
     # Only AN521 and MUSCA_B1 support Isolation Level 3
-    ("arm/mps2/an519", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/mps3/an524", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("cypress/psoc64", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "3", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/mps2/an519", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/mps3/an524", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # stm/stm32l562e_dk uses BL2
-    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "*",  "*", False, "*", "*", "*", "*", "*", "*", "*"),
+    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*", "*", "*"),
     # stm/stm32l562e_dk does not support Debug build type
-    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "Debug",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 only build with GCC
-    ("nxp/lpcxpresso55s69", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 only build Profile M
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 have to turn off BL2 when build regression test
-    ("nxp/lpcxpresso55s69", "*", "*", "*", True, "*", "*",  "*", True, "*", "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", True, "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 turn off BL2 temporary, due to the oversize error
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*",  "*", True, "*", "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*"),
     # NSID does not support multi core
-    ("cypress/psoc64", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "*", "*", "ON", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "ON", "*", "*", "*", "*"),
     # FP support only for GCC
-    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "1", "*"),
-    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*",  "*", "*", "*", "*", "*", "*", "*", "2", "*"),
+    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "1", "*", "*"),
+    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "2", "*", "*"),
     # FP soft only build for lazy stacking disabled
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "0", "ON")
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "0", "ON", "*")
     ]
 
 # Configure build manager to build several combinations
@@ -265,7 +267,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -288,7 +291,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -314,7 +318,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -338,7 +343,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -363,7 +369,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -386,7 +393,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -409,7 +417,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -432,7 +441,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     ["CRYPTO_OFF", "NS_ATTEST_ON"]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -454,7 +464,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -477,7 +488,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0", "1", "2"],
-                "lazy":             ["ON", "OFF"]
+                "lazy":             ["ON", "OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -499,7 +511,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -522,7 +535,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -546,7 +560,8 @@
                "nsce":             ["OFF"],
                "mmio":             ["OFF"],
                "fp":               ["0"],
-               "lazy":             ["OFF"]
+               "lazy":             ["OFF"],
+               "extra_params":     [""]
                },
               "common_params": _common_tfm_builder_cfg,
               "invalid": _common_tfm_invalid_configs + []
@@ -574,22 +589,23 @@
                "nsce":             ["OFF"],
                "mmio":             ["OFF"],
                "fp":               ["0"],
-               "lazy":             ["OFF"]
+               "lazy":             ["OFF"],
+               "extra_params":     [""]
                },
                "common_params": _common_tfm_builder_cfg,
                "invalid": _common_tfm_invalid_configs + [
-                   ("cypress/psoc64", "*", "*", "*",
-                    "*", "*", "Debug",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                   ("cypress/psoc64", "*", "*", "*",
-                    "*", "*", "*",  "*", True, True, "*", "*", "*", "*", "*", "*"),
-                   ("arm/mps2/an521", "*", "*", "*",
-                    "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                   ("arm/mps2/an519", "*", "*", "*",
-                    "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                   ("arm/musca_b1/sse_200", "*", "*", "*",
-                    "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                   ("arm/mps3/an524", "*", "*", "*",
-                    "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                   ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
+                    "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                   ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
+                    True, "*", "*", "*", "*", "*", "*", "*"),
+                   ("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                    "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                   ("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                    "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                   ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                    "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                   ("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                    "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                ]
                }
 
@@ -611,7 +627,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -634,12 +651,13 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -661,17 +679,18 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     # Profile Large is only supported by AN521
-                    ("arm/mps2/an519", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
-                    ("arm/musca_b1/sse_200", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "*", "*", "*", "*", "*", "*", "*", "*",
+                     "*", "profile_large", "*", "*", "*", "*", "*", "*"),
+                    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*",
+                     "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -692,7 +711,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -715,7 +735,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -738,7 +759,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -761,7 +783,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -786,12 +809,13 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -817,12 +841,13 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -844,20 +869,20 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
 config_nightly = {"seed_params": {
                "tfm_platform":      ["arm/mps2/an521", "arm/mps2/an519",
                                      "arm/musca_b1/sse_200", "arm/musca_s1",
-                                     "arm/mps3/an524", "stm/stm32l562e_dk",
-                                     "arm/musca_b1/secure_enclave"],
+                                     "arm/mps3/an524", "arm/musca_b1/secure_enclave"],
                 "toolchain_file":   ["toolchain_GNUARM.cmake",
                                      "toolchain_ARMCLANG.cmake"],
                 "lib_model":        [True, False],
@@ -873,26 +898,27 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("cypress/psoc64", "*", "*", "*",
-                     "*", "*", "Debug",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("cypress/psoc64", "*", "*", "*",
-                     "*", "*", "*",  "*", True, True, "*", "*", "*", "*", "*", "*"),
-                    ("arm/mps2/an521", "*", "*", "*",
-                     "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("arm/mps2/an519", "*", "*", "*",
-                     "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("arm/musca_b1/sse_200", "*", "*", "*",
-                     "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("arm/musca_s1", "*", "*", "*",
-                     "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-                    ("arm/mps3/an524", "*", "*", "*",
-                     "*", "*", "RelWithDebInfo",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
+                     True, "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*",
+                     "RelWithDebInfo", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/musca_s1", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -913,7 +939,8 @@
                 "nsce":             ["ON"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -936,7 +963,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["ON"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -960,17 +988,18 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
-                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
-                     "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     # Profile Large is only supported by AN521
-                    ("arm/mps2/an519", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
-                    ("arm/musca_b1/sse_200", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*", "*"),
+                    ("arm/mps2/an519", "*", "*", "*", "*", "*", "*", "*", "*",
+                     "*", "profile_large", "*", "*", "*", "*", "*", "*"),
+                    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*",
+                     "*", "*", "profile_large", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -994,7 +1023,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1018,7 +1048,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1041,7 +1072,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1064,7 +1096,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1087,7 +1120,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     ["CRYPTO_OFF", "NS_ATTEST_ON"]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1109,7 +1143,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1132,7 +1167,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0", "2"],
-                "lazy":             ["ON", "OFF"]
+                "lazy":             ["ON", "OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1156,81 +1192,82 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "valid": [
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      True, "1", False, "OFF", "Debug",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", ""),
                     ("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
                      False, "2", False, "OFF", "Debug",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", ""),
                     ("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
                      False, "3", False, "OFF", "Release",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", ""),
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "2", False, "OFF", "Debug",
-                     "off", True, True, "profile_medium", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "profile_medium", "ON", "OFF", "OFF", "0", "OFF", ""),
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "3", False, "OFF", "Debug",
-                     "off", True, True, "profile_large", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "profile_large", "ON", "OFF", "OFF", "0", "OFF", ""),
                     # AN521_GNUARM_IPC_2_REG_Release_BL2_NS_MEDIUM_PSOFF
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "2", True, "OFF", "Release",
-                     "off", True, True, "profile_medium", "OFF", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "profile_medium", "OFF", "OFF", "OFF", "0", "OFF", ""),
                     # MUSCA_B1_GNUARM_LIB_1_REG_Minsizerel_BL2_NS
                     ("arm/musca_b1/sse_200", "toolchain_GNUARM.cmake",
                      True, "1", True, "OFF", "Minsizerel",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", ""),
                     # stm32l562e_dk_ARMCLANG_IPC_1_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake",
                      False, "1", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", "CRYPTO_OFF"),
                     # stm32l562e_dk_GNUARM_IPC_2_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
                      False, "2", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", "NS_ATTEST_ON"),
                     # stm32l562e_dk_GNUARM_IPC_3_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
                      False, "3", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "0", "OFF", "CRYPTO_OFF"),
                     # MUSCA_S1_GNUARM_IPC_2_REG_Release_BL2_NS_SFP2_SLAZY
                     ("arm/musca_s1", "toolchain_GNUARM.cmake",
                      False, "2", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "OFF", "OFF", "2", "ON"),
+                     "off", True, True, "", "ON", "OFF", "OFF", "2", "ON", ""),
                 ],
                 "invalid": _common_tfm_invalid_configs + [
                     # invalid configs that are not supported by TF-M
                     ("arm/musca_s1", "*", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
                     # valid configs supported by TF-M but not needed in per-patch
                     ("*", "*", "*", "1", "*", "*", "Release",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "1", "*", "*", "Minsizerel",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "2", "*", "*", "Debug",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "2", "*", "*", "Minsizerel",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "3", "*", "*", "Debug",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "3", "*", "*", "Release",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("arm/mps2/an519", "*", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
                     ("arm/musca_s1", "*", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
                     ("arm/mps2/an519", "*", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
                     ("arm/mps2/an521", "*", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
                     ("*", "toolchain_GNUARM.cmake", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_small", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*",
-                     "*",  "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", True, "*", "*", "*",
-                     "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -1250,7 +1287,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1276,7 +1314,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1298,7 +1337,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1320,7 +1360,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1342,7 +1383,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1381,7 +1423,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1405,14 +1448,15 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("*", "toolchain_ARMCLANG.cmake", False, "*", "*", "*",
-                     "*",  "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", True, "1", "*", "*",
-                     "*",  "*", False, "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", False, "*", "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -1432,12 +1476,13 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake", False, "2", "*", "*",
-                     "*",  "*", True, "*", "*", "*", "*", "*", "*", "*")
+                     "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*")
                 ]
                 }
 
@@ -1457,7 +1502,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1479,7 +1525,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1501,7 +1548,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1523,7 +1571,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1545,7 +1594,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1567,7 +1617,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1589,7 +1640,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1611,7 +1663,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1633,7 +1686,8 @@
                 "nsce":             ["OFF"],
                 "mmio":             ["OFF"],
                 "fp":               ["0"],
-                "lazy":             ["OFF"]
+                "lazy":             ["OFF"],
+                "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index b1826f4..8b7841d 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -69,6 +69,24 @@
                 "1": "SFP1",
                 "2": "SFP2"}
 
+mapExtraParams = {"":              "",
+                  "CRYPTO_OFF":   ("-DTEST_S_CRYPTO=OFF "
+                                   "-DTEST_NS_CRYPTO=OFF "),
+                  "NS_ATTEST_ON": ("-DTEST_S_CRYPTO=OFF "
+                                   "-DTEST_NS_CRYPTO=OFF "
+                                   "-DTEST_S_ITS=OFF "
+                                   "-DTEST_NS_ITS=OFF "
+                                   "-DTEST_S_PLATFORM=OFF "
+                                   "-DTEST_NS_PLATFORM=OFF "
+                                   "-DTEST_NS_ATTESTATION=ON "
+                                   "-DTEST_S_ATTESTATION=OFF "
+                                   "-DTEST_NS_QCBOR=OFF "
+                                   "-DTEST_S_QCBOR=OFF "
+                                   "-DTEST_NS_T_COSE=OFF "
+                                   "-DTEST_S_T_COSE=OFF "
+                                   "-DTEST_NS_PS=OFF "
+                                   "-DTEST_S_PS=OFF ")}
+
 class TFM_Build_Manager(structuredTask):
     """ Class that will load a configuration out of a json file, schedule
     the builds, and produce a report """
@@ -142,7 +160,8 @@
             "NSCE={}",
             "MMIO={}",
             "FP={}",
-            "LAZY={}"
+            "LAZY={}",
+            "EXTRA_PARAMS={}"
         ]
         print(
             "\n".join(argument_list)
@@ -163,7 +182,8 @@
                 config_details.nsce,
                 config_details.mmio,
                 config_details.fp,
-                config_details.lazy
+                config_details.lazy,
+                "N.A" if not config_details.extra_params else config_details.extra_params,
             )
             .strip()
         )
@@ -425,7 +445,8 @@
                             "nsce": i.nsce,
                             "mmio": i.mmio,
                             "fp": i.fp,
-                            "lazy": i.lazy}
+                            "lazy": i.lazy,
+                            "extra_params": mapExtraParams[i.extra_params]}
         if i.test_psa_api == "IPC":
             overwrite_params["test_psa_api"] += " -DINCLUDE_PANIC_TESTS=1"
             if i.tfm_platform == "arm/musca_b1/sse_200":
@@ -622,6 +643,8 @@
                 config_param.append(mapSFPOption[list(i)[14]]) #FP
             if list(i)[15] == "ON": # LAZY
                 config_param.append("SLAZY")
+            if list(i)[16]: # EXTRA_PARAMS
+                config_param.append(list(i)[16])
             i_str = "_".join(config_param)
             ret_cfg[i_str] = i
         return ret_cfg