HAL: Duplicates three legacy tfm_spm_hal_* APIs for IPC Model

This patch duplicates the following APIs for IPC Model in platform HAL
and renames them:
 - tfm_spm_hal_get_ns_VTOR -> tfm_hal_get_ns_VTOR
 - tfm_spm_hal_get_ns_entry_point -> tfm_hal_get_ns_entry_point
 - tfm_spm_hal_get_ns_MSP -> tfm_hal_get_ns_MSP

This original ones are kept for Library Model for now for easier
potential deprecation of Library Model in the future.

Change-Id: Ic8196a4335514c9fa828892b6a4c90dc6ed9fd79
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/platform/ext/target/arm/corstone1000/tfm_hal_platform.c b/platform/ext/target/arm/corstone1000/tfm_hal_platform.c
index e3c6b78..af76c4e 100644
--- a/platform/ext/target/arm/corstone1000/tfm_hal_platform.c
+++ b/platform/ext/target/arm/corstone1000/tfm_hal_platform.c
@@ -28,3 +28,15 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    /* Boot of Host processor not implemented yet. */
+    return 0;
+}
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    /* Boot of Host processor not implemented yet. */
+    return 0;
+}
diff --git a/platform/ext/target/arm/mps2/an519/tfm_hal_platform.c b/platform/ext/target/arm/mps2/an519/tfm_hal_platform.c
index 4dd7691..de04d70 100644
--- a/platform/ext/target/arm/mps2/an519/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps2/an519/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -45,3 +47,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/mps2/an521/tfm_hal_platform.c b/platform/ext/target/arm/mps2/an521/tfm_hal_platform.c
index e68200f..c087635 100644
--- a/platform/ext/target/arm/mps2/an521/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps2/an521/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 #ifdef TFM_FIH_PROFILE_ON
 fih_int tfm_hal_platform_init(void)
 #else
@@ -59,3 +61,18 @@
 
     FIH_RET(fih_int_encode(TFM_HAL_SUCCESS));
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/mps3/an524/tfm_hal_platform.c b/platform/ext/target/arm/mps3/an524/tfm_hal_platform.c
index 4dd7691..de04d70 100644
--- a/platform/ext/target/arm/mps3/an524/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps3/an524/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -45,3 +47,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/mps3/an547/tfm_hal_platform.c b/platform/ext/target/arm/mps3/an547/tfm_hal_platform.c
index 0307640..d0cbc8c 100644
--- a/platform/ext/target/arm/mps3/an547/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps3/an547/tfm_hal_platform.c
@@ -12,6 +12,8 @@
 #include "uart_stdout.h"
 #include "device_definition.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -63,3 +65,18 @@
 
     NVIC_SystemReset();
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/mps3/an552/tfm_hal_platform.c b/platform/ext/target/arm/mps3/an552/tfm_hal_platform.c
index 0307640..e7fe818 100644
--- a/platform/ext/target/arm/mps3/an552/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps3/an552/tfm_hal_platform.c
@@ -12,6 +12,9 @@
 #include "uart_stdout.h"
 #include "device_definition.h"
 
+/* Get address of memory regions to configure MPU */
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -63,3 +66,18 @@
 
     NVIC_SystemReset();
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start+ 4));
+}
diff --git a/platform/ext/target/arm/mps3/corstone_polaris/tfm_hal_platform.c b/platform/ext/target/arm/mps3/corstone_polaris/tfm_hal_platform.c
index 1ae8843..fc06a86 100644
--- a/platform/ext/target/arm/mps3/corstone_polaris/tfm_hal_platform.c
+++ b/platform/ext/target/arm/mps3/corstone_polaris/tfm_hal_platform.c
@@ -12,6 +12,9 @@
 #include "uart_stdout.h"
 #include "device_definition.h"
 
+/* Get address of memory regions to configure MPU */
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -62,3 +65,18 @@
 
     NVIC_SystemReset();
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start+ 4));
+}
diff --git a/platform/ext/target/arm/musca_b1/secure_enclave/tfm_hal_platform.c b/platform/ext/target/arm/musca_b1/secure_enclave/tfm_hal_platform.c
index 71472ea..31a6e06 100644
--- a/platform/ext/target/arm/musca_b1/secure_enclave/tfm_hal_platform.c
+++ b/platform/ext/target/arm/musca_b1/secure_enclave/tfm_hal_platform.c
@@ -6,9 +6,12 @@
  */
 
 #include "cmsis.h"
+#include "target_cfg.h"
 #include "tfm_hal_platform.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     __enable_irq();
@@ -16,3 +19,13 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/musca_b1/sse_200/tfm_hal_platform.c b/platform/ext/target/arm/musca_b1/sse_200/tfm_hal_platform.c
index 2a6ec34..898c77c 100644
--- a/platform/ext/target/arm/musca_b1/sse_200/tfm_hal_platform.c
+++ b/platform/ext/target/arm/musca_b1/sse_200/tfm_hal_platform.c
@@ -13,6 +13,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -64,3 +66,18 @@
 
     NVIC_SystemReset();
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/arm/musca_s1/tfm_hal_platform.c b/platform/ext/target/arm/musca_s1/tfm_hal_platform.c
index 61cf462..6e669ec 100644
--- a/platform/ext/target/arm/musca_s1/tfm_hal_platform.c
+++ b/platform/ext/target/arm/musca_s1/tfm_hal_platform.c
@@ -14,6 +14,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -52,3 +54,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/cypress/psoc64/tfm_hal_platform.c b/platform/ext/target/cypress/psoc64/tfm_hal_platform.c
index 704dfe9..8e3163d 100644
--- a/platform/ext/target/cypress/psoc64/tfm_hal_platform.c
+++ b/platform/ext/target/cypress/psoc64/tfm_hal_platform.c
@@ -17,6 +17,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 /* FIXME:
  * Instead of TFM-customized mcuboot, at this moment psoc64 uses
  * Cypress version of it - CypressBootloader (CYBL). CYBL doesn't
@@ -75,3 +77,13 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/nordic_nrf/common/core/tfm_hal_platform_common.c b/platform/ext/target/nordic_nrf/common/core/tfm_hal_platform_common.c
index 3609952..51026e3 100644
--- a/platform/ext/target/nordic_nrf/common/core/tfm_hal_platform_common.c
+++ b/platform/ext/target/nordic_nrf/common/core/tfm_hal_platform_common.c
@@ -11,6 +11,7 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
 enum tfm_hal_status_t tfm_hal_platform_common_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -47,3 +48,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((const uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/nuvoton/common/tfm_hal_platform.c b/platform/ext/target/nuvoton/common/tfm_hal_platform.c
index 4dd7691..de04d70 100644
--- a/platform/ext/target/nuvoton/common/tfm_hal_platform.c
+++ b/platform/ext/target/nuvoton/common/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -45,3 +47,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/nxp/common/tfm_hal_platform.c b/platform/ext/target/nxp/common/tfm_hal_platform.c
index 4dd7691..de04d70 100644
--- a/platform/ext/target/nxp/common/tfm_hal_platform.c
+++ b/platform/ext/target/nxp/common/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -45,3 +47,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/stm/common/stm32l5xx/secure/tfm_hal_platform.c b/platform/ext/target/stm/common/stm32l5xx/secure/tfm_hal_platform.c
index 47e9252..fa0ba40 100644
--- a/platform/ext/target/stm/common/stm32l5xx/secure/tfm_hal_platform.c
+++ b/platform/ext/target/stm/common/stm32l5xx/secure/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -25,3 +27,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/ext/target/stm/common/stm32u5xx/secure/tfm_hal_platform.c b/platform/ext/target/stm/common/stm32u5xx/secure/tfm_hal_platform.c
index 47e9252..fa0ba40 100644
--- a/platform/ext/target/stm/common/stm32u5xx/secure/tfm_hal_platform.c
+++ b/platform/ext/target/stm/common/stm32u5xx/secure/tfm_hal_platform.c
@@ -11,6 +11,8 @@
 #include "tfm_plat_defs.h"
 #include "uart_stdout.h"
 
+extern const struct memory_region_limits memory_regions;
+
 enum tfm_hal_status_t tfm_hal_platform_init(void)
 {
     enum tfm_plat_err_t plat_err = TFM_PLAT_ERR_SYSTEM_ERR;
@@ -25,3 +27,18 @@
 
     return TFM_HAL_SUCCESS;
 }
+
+uint32_t tfm_hal_get_ns_VTOR(void)
+{
+    return memory_regions.non_secure_code_start;
+}
+
+uint32_t tfm_hal_get_ns_MSP(void)
+{
+    return *((uint32_t *)memory_regions.non_secure_code_start);
+}
+
+uint32_t tfm_hal_get_ns_entry_point(void)
+{
+    return *((uint32_t *)(memory_regions.non_secure_code_start + 4));
+}
diff --git a/platform/include/tfm_hal_platform.h b/platform/include/tfm_hal_platform.h
index 4c1728d..9af08f7 100644
--- a/platform/include/tfm_hal_platform.h
+++ b/platform/include/tfm_hal_platform.h
@@ -64,4 +64,28 @@
  */
 int32_t tfm_hal_random_generate(uint8_t *rand, size_t size);
 
+/**
+ * \brief Get the VTOR value of non-secure image
+ *
+ * \return Returns the address where the vector table of the non-secure image
+ *         is located
+ */
+uint32_t tfm_hal_get_ns_VTOR(void);
+
+/**
+ * \brief Get the entry point of the non-secure image
+ *
+ * \return Returns the address of the non-secure image entry point
+ */
+uint32_t tfm_hal_get_ns_entry_point(void);
+
+#ifndef TFM_MULTI_CORE_TOPOLOGY
+/**
+ * \brief Get the initial address of non-secure image main stack
+ *
+ * \return Returns the initial non-secure MSP
+ */
+uint32_t tfm_hal_get_ns_MSP(void);
+#endif /* TFM_MULTI_CORE_TOPOLOGY */
+
 #endif /* __TFM_HAL_PLATFORM_H__ */
diff --git a/secure_fw/spm/cmsis_psa/tfm_multi_core.c b/secure_fw/spm/cmsis_psa/tfm_multi_core.c
index f830a6f..2eba63e 100644
--- a/secure_fw/spm/cmsis_psa/tfm_multi_core.c
+++ b/secure_fw/spm/cmsis_psa/tfm_multi_core.c
@@ -7,7 +7,7 @@
 #include "tfm_arch.h"
 #include "tfm_assert.h"
 #include "tfm_hal_multi_core.h"
-#include "tfm_spm_hal.h"
+#include "tfm_hal_platform.h"
 #include "tfm_spm_log.h"
 #include "tfm_multi_core.h"
 
@@ -25,7 +25,7 @@
     SPMLOG_DBGMSG("Enabling non-secure core...");
 #endif
 
-    tfm_hal_boot_ns_cpu(tfm_spm_hal_get_ns_VTOR());
+    tfm_hal_boot_ns_cpu(tfm_hal_get_ns_VTOR());
     tfm_hal_wait_for_ns_cpu_ready();
 
     tfm_inter_core_comm_init();
diff --git a/secure_fw/spm/cmsis_psa/tfm_nspm_ipc.c b/secure_fw/spm/cmsis_psa/tfm_nspm_ipc.c
index 6d6f325..0d91a57 100755
--- a/secure_fw/spm/cmsis_psa/tfm_nspm_ipc.c
+++ b/secure_fw/spm/cmsis_psa/tfm_nspm_ipc.c
@@ -5,16 +5,17 @@
  *
  */
 
+#include "cmsis.h"
 #include "compiler_ext_defs.h"
-#include "tfm_spm_hal.h"
+#include "tfm_hal_platform.h"
 
 void configure_ns_code(void)
 {
     /* SCB_NS.VTOR points to the Non-secure vector table base address */
-    SCB_NS->VTOR = tfm_spm_hal_get_ns_VTOR();
+    SCB_NS->VTOR = tfm_hal_get_ns_VTOR();
 
     /* Setups Main stack pointer of the non-secure code */
-    uint32_t ns_msp = tfm_spm_hal_get_ns_MSP();
+    uint32_t ns_msp = tfm_hal_get_ns_MSP();
 
     __TZ_set_MSP_NS(ns_msp);
 }
diff --git a/secure_fw/spm/ffm/backend_ipc.c b/secure_fw/spm/ffm/backend_ipc.c
index a6c8031..4570f95 100644
--- a/secure_fw/spm/ffm/backend_ipc.c
+++ b/secure_fw/spm/ffm/backend_ipc.c
@@ -10,8 +10,8 @@
 #include "compiler_ext_defs.h"
 #include "spm_ipc.h"
 #include "tfm_hal_isolation.h"
+#include "tfm_hal_platform.h"
 #include "tfm_rpc.h"
-#include "tfm_spm_hal.h" /* To be checked */
 #include "ffm/backend.h"
 #include "utilities.h"
 #include "load/partition_defs.h"
@@ -116,7 +116,7 @@
               TO_THREAD_PRIORITY(PARTITION_PRIORITY(p_pldi->flags)));
 
     if (p_pldi->pid == TFM_SP_NON_SECURE_ID) {
-        p_param = (void *)tfm_spm_hal_get_ns_entry_point();
+        p_param = (void *)tfm_hal_get_ns_entry_point();
 
 #ifdef CONFIG_TFM_PSA_API_THREAD_CALL
         SPM_THREAD_CONTEXT = &p_pt->ctx_ctrl;
diff --git a/secure_fw/spm/ffm/backend_sfn.c b/secure_fw/spm/ffm/backend_sfn.c
index 14736e9..6cf39d5 100644
--- a/secure_fw/spm/ffm/backend_sfn.c
+++ b/secure_fw/spm/ffm/backend_sfn.c
@@ -8,7 +8,7 @@
 #include <stdint.h>
 #include "compiler_ext_defs.h"
 #include "current.h"
-#include "tfm_spm_hal.h"
+#include "tfm_hal_platform.h"
 #include "ffm/backend.h"
 #include "load/partition_defs.h"
 #include "load/service_defs.h"
@@ -104,7 +104,7 @@
 
         thrd_start(&p_pt->thrd,
                POSITION_TO_ENTRY(p_pldi->entry, thrd_fn_t),
-               (void *)tfm_spm_hal_get_ns_entry_point(),
+               (void *)tfm_hal_get_ns_entry_point(),
                LOAD_ALLOCED_STACK_ADDR(p_pldi),
                LOAD_ALLOCED_STACK_ADDR(p_pldi) + p_pldi->stack_size);