SPM: Add First-Level Interrupt Handling implementation

Change-Id: I5cc6d63f9864c5ea35e7a5236a736799d727855e
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/secure_fw/spm/include/interface/svc_num.h b/secure_fw/spm/include/interface/svc_num.h
index 955d7bf..7a3c3c5 100644
--- a/secure_fw/spm/include/interface/svc_num.h
+++ b/secure_fw/spm/include/interface/svc_num.h
@@ -42,6 +42,7 @@
 #define TFM_SVC_SPM_REQUEST             (0x40)
 #define TFM_SVC_GET_BOOT_DATA           (0x41)
 #define TFM_SVC_SPM_INIT                (0x42)
+#define TFM_SVC_FLIH_FUNC_RETURN        (0x43)
 #define TFM_SVC_THREAD_NUMBER_END       (0x7F)
 #if (TFM_SPM_LOG_LEVEL > TFM_SPM_LOG_LEVEL_SILENCE)
 #define TFM_SVC_OUTPUT_UNPRIV_STRING    (TFM_SVC_THREAD_NUMBER_END)
@@ -50,5 +51,6 @@
 #define TFM_SVC_HANDLER_NUMBER_START    (0x80)
 
 /********************* SVC for interrupt handling *****************************/
+#define TFM_SVC_PREPARE_DEPRIV_FLIH     (0x80)
 
 #endif /* __SVC_NUM_H__ */
diff --git a/secure_fw/spm/include/spm_partition_defs.h b/secure_fw/spm/include/spm_partition_defs.h
index c811cb6..252f99c 100644
--- a/secure_fw/spm/include/spm_partition_defs.h
+++ b/secure_fw/spm/include/spm_partition_defs.h
@@ -31,6 +31,7 @@
 #define TFM_SP_CORE_ID (1)
 
 #include "psa_manifest/pid.h"
+#include "psa/service.h"
 
 /* This limit is only used to define the size of the database reserved for
  * partitions. There's no requirement that it match the number of partitions
@@ -39,5 +40,6 @@
 #define SPM_MAX_PARTITIONS (TFM_MAX_USER_PARTITIONS + TFM_INTERNAL_PARTITIONS)
 
 typedef void(*sp_entry_point)(void);
+typedef psa_flih_result_t (*psa_flih_func)(void);
 
 #endif /* __SPM_PARTITION_DEFS_H__ */