Build: Update scripts to align FP support in NSPE.
Signed-off-by: Feder Liang <feder.liang@arm.com>
Change-Id: I5e8d1e5a96adb6228c018d65550a710d423301b9
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