SPM: Add First-Level Interrupt Handling implementation

Change-Id: I5cc6d63f9864c5ea35e7a5236a736799d727855e
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/secure_fw/partitions/lib/sprt/service_api.c b/secure_fw/partitions/lib/sprt/service_api.c
index 72bd536..f374f9c 100644
--- a/secure_fw/partitions/lib/sprt/service_api.c
+++ b/secure_fw/partitions/lib/sprt/service_api.c
@@ -8,6 +8,7 @@
 #include "cmsis_compiler.h"
 #include "service_api.h"
 #ifdef TFM_PSA_API
+#include "psa/service.h"
 #include "svc_num.h"
 #else
 #include "tfm_core_svc.h"
@@ -23,3 +24,14 @@
         "BX     lr\n"
         : : "I" (TFM_SVC_GET_BOOT_DATA));
 }
+
+#ifdef TFM_PSA_API
+/* Entry point when Partition FLIH functions return */
+__attribute__((naked))
+void tfm_flih_func_return(psa_flih_result_t result)
+{
+    __ASM volatile("SVC %0           \n"
+                   "BX  r0           \n"
+                   : : "I" (TFM_SVC_FLIH_FUNC_RETURN));
+}
+#endif /* TFM_PSA_API */