Build: Add MMIO config group
MMIOVEC is a new feature in TF-M.
Add a config group to have it covered in Open CI.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I1ec5da36e0bdade4e01905b5b719366d5bbe9552
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 3f80996..ae0925a 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -41,7 +41,8 @@
"with_ns",
"profile",
"partition_ps",
- "nsce"],
+ "nsce",
+ "mmio"],
# Keys for the templace will come from the combinations of parameters
# provided in the seed dictionary.
@@ -64,6 +65,7 @@
"-DTFM_PROFILE=%(profile)s " + \
"-DTFM_PARTITION_PROTECTED_STORAGE=%(partition_ps)s " + \
"-DTFM_NS_MANAGE_NSID=%(nsce)s " + \
+ "-DCONFIG_TFM_ENABLE_MM_IOVEC=%(mmio)s " + \
"%(codebase_root_dir)s",
# A small subset of string substitution params is allowed in commands.
@@ -132,90 +134,90 @@
# 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 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", "*", "*", "*", "*", "*"),
# NSID does not support multi core
- ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "ON"),
+ ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "ON", "*"),
]
# Configure build manager to build several combinations
@@ -234,6 +236,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -254,6 +257,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -277,6 +281,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -298,6 +303,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -320,6 +326,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -340,6 +347,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -360,6 +368,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -380,6 +389,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -399,6 +409,7 @@
"profile": ["profile_medium"],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -418,6 +429,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -438,6 +450,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -459,6 +472,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -484,21 +498,22 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["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", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -518,6 +533,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -538,11 +554,12 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -562,16 +579,17 @@
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
"nsce": ["OFF"],
+ "mmio": ["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", "*", "*", "*"),
]
}
@@ -590,6 +608,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -610,6 +629,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -630,6 +650,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -650,6 +671,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -672,11 +694,12 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -700,11 +723,12 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -724,11 +748,12 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*",
- "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -750,25 +775,26 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["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", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -787,6 +813,28 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["ON"],
+ "mmio": ["OFF"],
+ },
+ "common_params": _common_tfm_builder_cfg,
+ "invalid": _common_tfm_invalid_configs + []
+ }
+
+config_nightly_mmio = {"seed_params": {
+ "tfm_platform": ["arm/mps2/an521"],
+ "toolchain_file": ["toolchain_GNUARM.cmake",
+ "toolchain_ARMCLANG.cmake"],
+ "lib_model": [False],
+ "isolation_level": ["1"],
+ "test_regression": [True],
+ "test_psa_api": ["OFF"],
+ "cmake_build_type": ["Debug", "Release", "Minsizerel"],
+ "with_otp": ["off"],
+ "with_bl2": [True],
+ "with_ns": [True],
+ "profile": [""],
+ "partition_ps": ["ON"],
+ "nsce": ["OFF"],
+ "mmio": ["ON"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -808,16 +856,17 @@
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
"nsce": ["OFF"],
+ "mmio": ["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", "*", "*", "*"),
]
}
@@ -839,6 +888,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -860,6 +910,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -880,6 +931,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -900,6 +952,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -920,6 +973,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -939,6 +993,7 @@
"profile": ["profile_medium"],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -960,76 +1015,77 @@
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"valid": [
("arm/mps2/an521", "toolchain_GNUARM.cmake",
True, "1", False, "OFF", "Debug",
- "off", True, True, "", "ON", "OFF"),
+ "off", True, True, "", "ON", "OFF", "OFF"),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "", "ON", "OFF"),
+ "off", True, True, "", "ON", "OFF", "OFF"),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "3", False, "OFF", "Release",
- "off", True, True, "", "ON", "OFF"),
+ "off", True, True, "", "ON", "OFF", "OFF"),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "profile_medium", "ON", "OFF"),
+ "off", True, True, "profile_medium", "ON", "OFF", "OFF"),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "3", False, "OFF", "Debug",
- "off", True, True, "profile_large", "ON", "OFF"),
+ "off", True, True, "profile_large", "ON", "OFF", "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", True, True, "profile_medium", "OFF", "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", "OFF"),
+ "off", True, True, "", "ON", "OFF", "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", True, True, "", "ON", "OFF", "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", True, True, "", "ON", "OFF", "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", "OFF"),
+ "off", True, True, "", "ON", "OFF", "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, "*", "*", "*",
- "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -1047,6 +1103,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1070,6 +1127,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1089,6 +1147,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1108,6 +1167,7 @@
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1127,6 +1187,7 @@
"profile": ["", "profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1163,6 +1224,7 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1184,13 +1246,14 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("*", "toolchain_ARMCLANG.cmake", False, "*", "*", "*",
- "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*", "*", "*"),
("*", "toolchain_ARMCLANG.cmake", True, "1", "*", "*",
- "*", "*", False, "*", "*", "*", "*"),
+ "*", "*", False, "*", "*", "*", "*", "*"),
]
}
@@ -1208,11 +1271,12 @@
"profile": [""],
"partition_ps": ["ON"],
"nsce": ["OFF"],
+ "mmio": ["OFF"],
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an521", "toolchain_GNUARM.cmake", False, "2", "*", "*",
- "*", "*", True, "*", "*", "*", "*")
+ "*", "*", True, "*", "*", "*", "*", "*")
]
}
@@ -1233,6 +1297,7 @@
#nightly test group
"nightly_test": config_nightly,
"nightly_nsce": config_nightly_nsce,
+ "nightly_mmio": config_nightly_mmio,
"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 322a2f3..ddc1f64 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -127,7 +127,8 @@
"NS={}",
"PROFILE={}",
"PARTITION_PS={}",
- "NSCE={}"
+ "NSCE={}",
+ "MMIO={}"
]
print(
"\n".join(argument_list)
@@ -145,7 +146,8 @@
config_details.with_ns,
"N.A" if not config_details.profile else config_details.profile,
config_details.partition_ps,
- config_details.nsce
+ config_details.nsce,
+ config_details.mmio
)
.strip()
)
@@ -404,7 +406,8 @@
"with_ns": i.with_ns,
"profile": "" if i.profile=="N.A" else i.profile,
"partition_ps": i.partition_ps,
- "nsce": i.nsce}
+ "nsce": i.nsce,
+ "mmio": i.mmio}
if i.test_psa_api == "IPC":
overwrite_params["test_psa_api"] += " -DINCLUDE_PANIC_TESTS=1"
if i.tfm_platform == "arm/musca_b1/sse_200":
@@ -593,6 +596,8 @@
config_param.append("PSOFF")
if list(i)[12] == "ON":
config_param.append("NSCE")
+ if list(i)[13] == "ON":
+ config_param.append("MMIO")
i_str = "_".join(config_param)
ret_cfg[i_str] = i
return ret_cfg