Build: Enable NSCE on Open CI
Enable NSCE regression tests on AN521.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I1eb438c51ec085bca719af12d3f9e41eb80081f4
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 08f4bf6..ef51e73 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -40,7 +40,8 @@
"with_bl2",
"with_ns",
"profile",
- "partition_ps"],
+ "partition_ps",
+ "nsce"],
# Keys for the templace will come from the combinations of parameters
# provided in the seed dictionary.
@@ -62,6 +63,7 @@
"-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
"-DTFM_PROFILE=%(profile)s " + \
"-DTFM_PARTITION_PROTECTED_STORAGE=%(partition_ps)s " + \
+ "-DTFM_NS_MANAGE_NSID=%(nsce)s " + \
"%(codebase_root_dir)s",
# A small subset of string substitution params is allowed in commands.
@@ -130,89 +132,91 @@
# 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", "*", "*", "*", "*", "*", "*"),
# 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 does not support LVL3
- ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*"),
- ("*", "*", "*", "3", "*", "CRYPTO", "*", "*", "*", "*", "*", "*"),
- ("*", "*", "*", "3", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*"),
- ("*", "*", "*", "3", "*", "STORAGE", "*", "*", "*", "*", "*", "*"),
+ ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*", "*"),
+ ("*", "*", "*", "3", "*", "CRYPTO", "*", "*", "*", "*", "*", "*", "*"),
+ ("*", "*", "*", "3", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*"),
+ ("*", "*", "*", "3", "*", "STORAGE", "*", "*", "*", "*", "*", "*", "*"),
# 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 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", "*", "*", "*", "*", "*", "*", "*", "*", 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", "*", "*", "*", "*", "*", "*", "*", "*", 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 2
- ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_small", "*"),
+ ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "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", "*", "*", "*", "*"),
+ # NSID does not support multi core
+ ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "OFF"),
]
# Configure build manager to build several combinations
@@ -230,6 +234,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -249,6 +254,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -271,6 +277,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -291,6 +298,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -312,6 +320,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -331,6 +340,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -350,6 +360,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -369,6 +380,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -387,6 +399,7 @@
"with_ns": [True],
"profile": ["profile_medium"],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -405,6 +418,7 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -424,6 +438,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -444,6 +459,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -468,21 +484,22 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("cypress/psoc64", "*", "*", "*",
- "*", "*", "Debug", "*", "*", "*", "*", "*"),
+ "*", "*", "Debug", "*", "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*",
- "*", "*", "*", "*", True, True, "*", "*"),
+ "*", "*", "*", "*", True, True, "*", "*", "*"),
("arm/mps2/an521", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/mps2/an519", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/musca_b1/sse_200", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/mps3/an524", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
]
}
@@ -501,6 +518,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -520,11 +538,12 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -543,16 +562,17 @@
"with_ns": [True],
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
# Profile Large is only supported by AN521
("arm/mps2/an519", "*", "*",
- "*", "*", "*", "*", "*", "*", "*", "profile_large", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
("arm/musca_b1/sse_200", "*", "*",
- "*", "*", "*", "*", "*", "*", "*", "profile_large", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
]
}
@@ -570,6 +590,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -589,6 +610,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -608,6 +630,7 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -627,6 +650,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -648,11 +672,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -675,11 +700,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -698,11 +724,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -724,28 +751,49 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*",
- "*", "*", "Debug", "*", "*", "*", "*", "*"),
+ "*", "*", "Debug", "*", "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*",
- "*", "*", "*", "*", True, True, "*", "*"),
+ "*", "*", "*", "*", True, True, "*", "*", "*"),
("arm/mps2/an521", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/mps2/an519", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/musca_b1/sse_200", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/musca_s1", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/mps3/an524", "*", "*", "*",
- "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*"),
+ "*", "*", "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
]
}
+config_nightly_nsce = {"seed_params": {
+ "tfm_platform": ["arm/mps2/an521"],
+ "toolchain_file": ["toolchain_GNUARM.cmake",
+ "toolchain_ARMCLANG.cmake"],
+ "lib_model": [True, False],
+ "isolation_level": ["1", "2", "3"],
+ "test_regression": [True],
+ "test_psa_api": ["OFF"],
+ "cmake_build_type": ["Debug"],
+ "with_otp": ["off"],
+ "with_bl2": [True],
+ "with_ns": [True],
+ "profile": [""],
+ "partition_ps": ["ON"],
+ "nsce": ["ON"],
+ },
+ "common_params": _common_tfm_builder_cfg,
+ "invalid": _common_tfm_invalid_configs + []
+ }
+
config_nightly_profile = {"seed_params": {
"tfm_platform": ["arm/mps2/an519", "arm/mps2/an521",
"arm/musca_b1/sse_200"],
@@ -761,16 +809,17 @@
"with_ns": [True],
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
# Profile Large is only supported by AN521
("arm/mps2/an519", "*", "*",
- "*", "*", "*", "*", "*", "*", "*", "profile_large", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
("arm/musca_b1/sse_200", "*", "*",
- "*", "*", "*", "*", "*", "*", "*", "profile_large", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
]
}
@@ -791,6 +840,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -811,6 +861,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -830,6 +881,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -849,6 +901,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -867,6 +920,7 @@
"with_ns": [True],
"profile": ["profile_medium"],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -887,71 +941,77 @@
"with_ns": [True, False],
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"valid": [
("arm/mps2/an521", "toolchain_GNUARM.cmake",
True, "1", False, "OFF", "Debug",
- "off", True, True, "", "ON"),
+ "off", True, True, "", "ON", "OFF"),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "", "ON"),
+ "off", True, True, "", "ON", "OFF"),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "3", False, "OFF", "Release",
- "off", True, True, "", "ON"),
+ "off", True, True, "", "ON", "OFF"),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "profile_medium", "ON"),
+ "off", True, True, "profile_medium", "ON", "OFF"),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "3", False, "OFF", "Debug",
- "off", True, True, "profile_large", "ON"),
+ "off", True, True, "profile_large", "ON", "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"),
+ ("arm/mps2/an521", "toolchain_GNUARM.cmake",
+ False, "2", True, "OFF", "Release",
+ "off", True, True, "profile_medium", "OFF", "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"),
+ ("arm/musca_b1/sse_200", "toolchain_GNUARM.cmake",
+ True, "1", True, "OFF", "Minsizerel",
+ "off", True, True, "", "ON", "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"),
+ ("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake",
+ False, "1", True, "OFF", "Release",
+ "off", True, True, "", "ON", "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"),
+ ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
+ False, "2", True, "OFF", "Release",
+ "off", True, True, "", "ON", "OFF"),
# stm32l562e_dk_GNUARM_IPC_3_REG_Release_BL2_NS
- ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake", False,
- "3", True, "OFF", "Release", "off", True, True, "", "ON"),
+ ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
+ False, "3", True, "OFF", "Release",
+ "off", True, True, "", "ON", "OFF"),
],
"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, "*", "*", "*",
- "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -968,6 +1028,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -990,6 +1051,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1008,6 +1070,7 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1026,6 +1089,7 @@
"with_ns": [True],
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1044,6 +1108,7 @@
"with_ns": [True],
"profile": ["", "profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1079,6 +1144,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1099,13 +1165,14 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("*", "toolchain_ARMCLANG.cmake", False, "*", "*", "*",
- "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*", "*"),
("*", "toolchain_ARMCLANG.cmake", True, "1", "*", "*",
- "*", "*", False, "*", "*", "*"),
+ "*", "*", False, "*", "*", "*", "*"),
]
}
@@ -1122,11 +1189,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
+ "nsce": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an521", "toolchain_GNUARM.cmake", False, "2", "*", "*",
- "*", "*", True, "*", "*", "*")
+ "*", "*", True, "*", "*", "*", "*")
]
}
@@ -1146,6 +1214,7 @@
#nightly test group
"nightly_test": config_nightly,
+ "nightly_nsce": config_nightly_nsce,
"nightly_profile": config_nightly_profile,
"nightly_psa_api": config_nightly_PSA_API,
"nightly_ff": config_nightly_PSA_FF,
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index f90aaa3..322a2f3 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -126,7 +126,8 @@
"BL2={}",
"NS={}",
"PROFILE={}",
- "PARTITION_PS={}"
+ "PARTITION_PS={}",
+ "NSCE={}"
]
print(
"\n".join(argument_list)
@@ -143,7 +144,8 @@
config_details.with_bl2,
config_details.with_ns,
"N.A" if not config_details.profile else config_details.profile,
- config_details.partition_ps
+ config_details.partition_ps,
+ config_details.nsce
)
.strip()
)
@@ -401,7 +403,8 @@
"with_bl2": i.with_bl2,
"with_ns": i.with_ns,
"profile": "" if i.profile=="N.A" else i.profile,
- "partition_ps": i.partition_ps}
+ "partition_ps": i.partition_ps,
+ "nsce": i.nsce}
if i.test_psa_api == "IPC":
overwrite_params["test_psa_api"] += " -DINCLUDE_PANIC_TESTS=1"
if i.tfm_platform == "arm/musca_b1/sse_200":
@@ -588,6 +591,8 @@
config_param.append(mapProfile[list(i)[10]])
if list(i)[11] == "OFF": #PARTITION_PS
config_param.append("PSOFF")
+ if list(i)[12] == "ON":
+ config_param.append("NSCE")
i_str = "_".join(config_param)
ret_cfg[i_str] = i
return ret_cfg