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