refactor(interrupts): cleanup secure interrupt handling code

This patch ensures most of the secure interrupt handling is limited
to the plat/ffa/spmc.c module.

Change-Id: I0a58c709bca56e5fa9c97983e2f5270052be3a8f
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/inc/hf/api.h b/inc/hf/api.h
index 13fe923..3d31f66 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -65,6 +65,8 @@
 struct ffa_value api_ffa_spm_id_get(void);
 struct ffa_value api_ffa_feature_success(uint32_t arg2);
 struct ffa_value api_ffa_features(uint32_t function_id);
+struct ffa_value api_ffa_msg_wait(struct vcpu *current, struct vcpu **next,
+				  struct ffa_value *args);
 struct ffa_value api_ffa_run(ffa_vm_id_t vm_id, ffa_vcpu_index_t vcpu_idx,
 			     struct vcpu *current, struct vcpu **next);
 struct ffa_value api_ffa_mem_send(uint32_t share_func, uint32_t length,
diff --git a/inc/hf/arch/plat/ffa.h b/inc/hf/arch/plat/ffa.h
index fb830e4..2c5a4b2 100644
--- a/inc/hf/arch/plat/ffa.h
+++ b/inc/hf/arch/plat/ffa.h
@@ -215,6 +215,9 @@
 bool plat_ffa_is_mem_perm_get_valid(const struct vcpu *current);
 bool plat_ffa_is_mem_perm_set_valid(const struct vcpu *current);
 
+bool plat_ffa_msg_wait_prepare(struct vcpu *current, struct vcpu **next,
+			       struct ffa_value *ret_args);
+
 /**
  * Check if current SP can resume target VM/SP using FFA_RUN ABI.
  */