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 */