feat(interrupts): intercept S-EL0 SP direct response message

Since FF-A v1.1 EAC0 spec only allows signaling a virtual secure
interrupt to an S-EL0 SP when in WAITING state, SPMC intercepts
a direct response message from the S-EL0 partition to proactively
signal the pending virtual secure interrupt and resume the vCPU
of the S-EL0 partition.

Further, once the secure interrupt is handled, SPMC resumes the
direct response message from current S-EL0 partition and takes
care of unwinding the call chain.

Change-Id: I55da462b5b6b7813f09a7b57c16fcd378972ac3a
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/src/arch/fake/hypervisor/ffa.c b/src/arch/fake/hypervisor/ffa.c
index 969622d..f197f2f 100644
--- a/src/arch/fake/hypervisor/ffa.c
+++ b/src/arch/fake/hypervisor/ffa.c
@@ -466,6 +466,23 @@
 	(void)next;
 }
 
+bool plat_ffa_intercept_direct_response(struct vcpu_locked current_locked,
+					struct vcpu **next,
+					struct ffa_value to_ret,
+					struct ffa_value *signal_interrupt)
+{
+	/*
+	 * Only applicable to SPMC as it signals virtual secure interrupt to
+	 * S-EL0 partitions.
+	 */
+	(void)current_locked;
+	(void)next;
+	(void)to_ret;
+	(void)signal_interrupt;
+
+	return false;
+}
+
 void plat_ffa_enable_virtual_maintenance_interrupts(
 	struct vcpu_locked current_locked)
 {