Build: Update scripts to align FP support in NSPE.
Signed-off-by: Feder Liang <feder.liang@arm.com>
Change-Id: I5e8d1e5a96adb6228c018d65550a710d423301b9
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 5a611b4..7422e7b 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -41,8 +41,6 @@
"with_ns",
"profile",
"partition_ps",
- "fp",
- "lazy",
"extra_params"],
# Keys for the templace will come from the combinations of parameters
@@ -66,8 +64,6 @@
"-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
"-DTFM_PROFILE=%(profile)s " + \
"-DTFM_PARTITION_PROTECTED_STORAGE=%(partition_ps)s " + \
- "-DCONFIG_TFM_SPE_FP=%(fp)s " + \
- "-DCONFIG_TFM_LAZY_STACKING_SPE=%(lazy)s " + \
"%(extra_params)s " + \
"%(codebase_root_dir)s",
@@ -147,101 +143,96 @@
# 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", "*", "*", "*"),
+ "Relwithdebinfo", "off", True, True, "profile_medium", "ON", "*"),
# 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", "*", "*", "*"),
+ "Release", "off", True, True, "", "ON", "*"),
# 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, "*", "*", "*", "*", "*", "*"),
- # FP support only for GCC
- ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "1", "*", "*"),
- ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "2", "*", "*"),
- # FP soft only build for lazy stacking disabled
- ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "0", "ON", "*")
+ ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*")
]
# Configure build manager to build several combinations
@@ -259,8 +250,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -281,8 +270,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -306,8 +293,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -329,8 +314,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -353,8 +336,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -375,8 +356,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -397,8 +376,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -419,18 +396,16 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
# all other tests are off when CRYPTO is ON
("stm/stm32l562e_dk", "*", "*", "*", True, "*", "*", "*",
- "*", "*", "*", "*", "*", "*", "CRYPTO_ON"),
+ "*", "*", "*", "*", "CRYPTO_ON"),
# all other tests are ON when CRYPTO is OFF
("stm/stm32l562e_dk", "*", "*", "*", False, "*", "*", "*",
- "*", "*", "*", "*", "*", "*", "CRYPTO_OFF"),
+ "*", "*", "*", "*", "CRYPTO_OFF"),
]
}
@@ -447,8 +422,6 @@
"with_ns": [True],
"profile": ["profile_medium"],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -457,8 +430,7 @@
config_FP = {"seed_params": {
"tfm_platform": ["arm/musca_s1"],
- "toolchain_file": ["toolchain_GNUARM.cmake",
- "toolchain_ARMCLANG.cmake"],
+ "toolchain_file": ["toolchain_GNUARM.cmake"],
"lib_model": [False],
"isolation_level": ["1", "2"],
"test_regression": [True],
@@ -469,9 +441,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0", "1", "2"],
- "lazy": ["ON", "OFF"],
- "extra_params": [""]
+ "extra_params": ["FPSOFT", "FPHARD", "FPHARD_LOFF"]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -490,8 +460,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -512,8 +480,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -535,8 +501,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -562,24 +526,22 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
- "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
- True, "*", "*", "*", "*", "*"),
+ True, "*", "*", "*"),
("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
]
}
@@ -598,8 +560,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -620,14 +580,12 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
- "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -646,19 +604,17 @@
"with_ns": [True],
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"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", "*", "*"),
]
}
@@ -676,8 +632,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -698,8 +652,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -720,8 +672,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -742,8 +692,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -766,14 +714,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
- "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -796,14 +742,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
- "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -822,14 +766,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
- "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
]
}
@@ -849,28 +791,26 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + [
("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
- "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
- "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*"),
("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
- True, "*", "*", "*", "*", "*"),
+ True, "*", "*", "*"),
("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/musca_b1/sse_200", "*", "*", "*", "*", "*",
- "RelWithDebInfo", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
("arm/musca_s1", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
- "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*"),
]
}
@@ -888,8 +828,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": ["NSCE"]
},
"common_params": _common_tfm_builder_cfg,
@@ -910,8 +848,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": ["MMIO"]
},
"common_params": _common_tfm_builder_cfg,
@@ -933,19 +869,17 @@
"with_ns": [True],
"profile": ["profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"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", "*", "*"),
]
}
@@ -966,8 +900,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -989,8 +921,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1011,8 +941,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1033,8 +961,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1054,8 +980,6 @@
"with_ns": [True],
"profile": ["profile_medium"],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1064,8 +988,7 @@
config_nightly_FP = {"seed_params": {
"tfm_platform": ["arm/musca_s1"],
- "toolchain_file": ["toolchain_GNUARM.cmake",
- "toolchain_ARMCLANG.cmake"],
+ "toolchain_file": ["toolchain_GNUARM.cmake"],
"lib_model": [False],
"isolation_level": ["1", "2"],
"test_regression": [True],
@@ -1076,9 +999,7 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0", "2"],
- "lazy": ["ON", "OFF"],
- "extra_params": [""]
+ "extra_params": ["FPSOFT", "FPHARD", "FPHARD_LOFF"]
},
"common_params": _common_tfm_builder_cfg,
"invalid": _common_tfm_invalid_configs + []
@@ -1099,83 +1020,81 @@
"with_ns": [True, False],
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
- "fp": ["0"],
- "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", "0", "OFF", ""),
+ "off", True, True, "", "ON", ""),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "", "ON", "0", "OFF", ""),
+ "off", True, True, "", "ON", ""),
("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
False, "3", False, "OFF", "Release",
- "off", True, True, "", "ON", "0", "OFF", ""),
+ "off", True, True, "", "ON", ""),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "2", False, "OFF", "Debug",
- "off", True, True, "profile_medium", "ON", "0", "OFF", ""),
+ "off", True, True, "profile_medium", "ON", ""),
("arm/mps2/an521", "toolchain_GNUARM.cmake",
False, "3", False, "OFF", "Debug",
- "off", True, True, "profile_large", "ON", "0", "OFF", ""),
+ "off", True, True, "profile_large", "ON", ""),
# 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", "0", "OFF", ""),
+ "off", True, True, "profile_medium", "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", "0", "OFF", ""),
+ "off", True, True, "", "ON", ""),
# stm32l562e_dk_ARMCLANG_IPC_1_REG_Release_BL2_NS
("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake",
False, "1", True, "OFF", "Release",
- "off", True, True, "", "ON", "0", "OFF", "CRYPTO_OFF"),
+ "off", True, True, "", "ON", "CRYPTO_OFF"),
# stm32l562e_dk_GNUARM_IPC_2_REG_Release_BL2_NS
("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
False, "2", False, "OFF", "Release",
- "off", True, True, "", "ON", "0", "OFF", "CRYPTO_ON"),
+ "off", True, True, "", "ON", "CRYPTO_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", "0", "OFF", "CRYPTO_OFF"),
- # MUSCA_S1_GNUARM_IPC_2_REG_Release_BL2_NS_SFP2_SLAZY
+ "off", True, True, "", "ON", "CRYPTO_OFF"),
+ # MUSCA_S1_GNUARM_IPC_2_REG_Release_BL2_NS_FPHARD
("arm/musca_s1", "toolchain_GNUARM.cmake",
False, "2", True, "OFF", "Release",
- "off", True, True, "", "ON", "2", "ON", ""),
+ "off", True, True, "", "ON", "FPHARD"),
],
"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, "*", "*", "*",
- "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+ "*", "*", "*", "*", "*", "*", "*"),
]
}
@@ -1192,8 +1111,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1217,8 +1134,6 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1238,8 +1153,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1259,8 +1172,6 @@
"with_ns": [True],
"profile": ["", "profile_small", "profile_medium"],
"partition_ps": ["ON", "OFF"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1280,8 +1191,6 @@
"with_ns": [True],
"profile": ["", "profile_small", "profile_medium", "profile_large"],
"partition_ps": ["ON", "OFF"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1318,8 +1227,6 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1341,16 +1248,14 @@
"with_ns": [True],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "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, "*", "*", "*", "*"),
]
}
@@ -1367,14 +1272,12 @@
"with_ns": [True, False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "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, "*", "*", "*", "*")
]
}
@@ -1391,8 +1294,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1412,8 +1313,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1433,8 +1332,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1454,8 +1351,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1475,8 +1370,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1496,8 +1389,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1517,8 +1408,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1538,8 +1427,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
@@ -1559,8 +1446,6 @@
"with_ns": [False],
"profile": [""],
"partition_ps": ["ON"],
- "fp": ["0"],
- "lazy": ["OFF"],
"extra_params": [""]
},
"common_params": _common_tfm_builder_cfg,
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index d8a58bb..673771c 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -8,7 +8,7 @@
__copyright__ = """
/*
- * Copyright (c) 2018-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -65,17 +65,18 @@
"profile_medium": "MEDIUM",
"profile_large": "LARGE"}
-mapSFPOption = {"0": "SFP0",
- "1": "SFP1",
- "2": "SFP2"}
-
mapExtraParams = {"": "",
"CRYPTO_OFF": ("-DTEST_S_CRYPTO=OFF "
"-DTEST_NS_CRYPTO=OFF "),
"CRYPTO_ON": ("-DTEST_S_CRYPTO=ON "
"-DTEST_NS_CRYPTO=ON "),
"NSCE": "-DTFM_NS_MANAGE_NSID=ON ",
- "MMIO": "-DPSA_FRAMEWORK_HAS_MM_IOVEC=ON "}
+ "MMIO": "-DPSA_FRAMEWORK_HAS_MM_IOVEC=ON ",
+ "FPSOFT": "-DCONFIG_TFM_FP=soft ",
+ "FPHARD": "-DCONFIG_TFM_FP=hard ",
+ "FPHARD_LOFF": ("-DCONFIG_TFM_FP=hard "
+ "-DCONFIG_TFM_LAZY_STACKING=OFF ")
+ }
class TFM_Build_Manager(structuredTask):
""" Class that will load a configuration out of a json file, schedule
@@ -124,8 +125,12 @@
compiler_version = ""
# Set GCC version
if "GNUARM" in config.toolchain_file:
- # Use GCC v7.3.1 by default
- compiler_version = "GCC_7_3_1"
+ if "FPHARD" in config.extra_params:
+ # TF-M FPU feature requires GCC v10.3
+ compiler_version = "GCC_10_3"
+ else:
+ # Use GCC v7.3.1 by default
+ compiler_version = "GCC_7_3_1"
# Set ARMClang version
elif "ARMCLANG" in config.toolchain_file:
# Use ARMClang v6.13 by default
@@ -161,8 +166,6 @@
"NS={}",
"PROFILE={}",
"PARTITION_PS={}",
- "FP={}",
- "LAZY={}",
"EXTRA_PARAMS={}"
]
print(
@@ -182,8 +185,6 @@
config_details.with_ns,
"N.A" if not config_details.profile else config_details.profile,
config_details.partition_ps,
- config_details.fp,
- config_details.lazy,
"N.A" if not config_details.extra_params else config_details.extra_params,
)
.strip()
@@ -443,14 +444,12 @@
"with_ns": i.with_ns,
"profile": "" if i.profile=="N.A" else i.profile,
"partition_ps": i.partition_ps,
- "fp": i.fp,
- "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":
overwrite_params["test_psa_api"] += " -DITS_RAM_FS=ON -DPS_RAM_FS=ON"
- if i.fp == "1" or i.fp == "2":
+ if i.extra_params == "FPHARD" or i.extra_params == "FPHARD_LOFF":
overwrite_params["test_psa_api"] += " -DTEST_S_FPU=ON -DTEST_NS_FPU=ON"
build_cfg["config_template"] %= overwrite_params
if len(build_cfg["build_cmds"]) > 1:
@@ -634,12 +633,8 @@
config_param.append(mapProfile[list(i)[10]])
if list(i)[11] == "OFF": #PARTITION_PS
config_param.append("PSOFF")
- if list(i)[12] == "1" or list(i)[12] == "2":
- config_param.append(mapSFPOption[list(i)[12]]) #FP
- if list(i)[13] == "ON": # LAZY
- config_param.append("SLAZY")
- if list(i)[14]: # EXTRA_PARAMS
- config_param.append(list(i)[14])
+ if list(i)[12]: # EXTRA_PARAMS
+ config_param.append(list(i)[12])
i_str = "_".join(config_param)
ret_cfg[i_str] = i
return ret_cfg