feat(interrupts): new interrupt deactivation ABI

This patch introduces a new FF-A paravirtualized ABI for interrupt
deactivation.

This is needed for support of secure interrupt managment in SPM. The
current iteration of secure interrupt handling is implemented on the
basis of para-virtualized GIC interfaces.

Secure Partitions leverage hvc calls that are handled by these
para-virtualized ABIs to handle interrupts such as performing end-of-
interrupt. At the moment, Secure Partitions may not have support of
GIC driver for accessing CPU interface registers themselves.

In the future, we plan to add support for GIC driver in the Secure
Partitions as well as support for Interrupt Virtualization in GICv3.
It is built on the hardware support available in GICv3 implementation
which use hardware list registers for virtual interrupt state/priority
management.

Change-Id: Iae0c273b92d0793a4d3e03e22fd477d18100f0c1
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 5e8221e..7b00158 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -952,6 +952,13 @@
 		vcpu->regs.r[0] = api_debug_log(args.arg1, vcpu);
 		break;
 
+#if SECURE_WORLD == 1
+	case HF_INTERRUPT_DEACTIVATE:
+		vcpu->regs.r[0] = plat_ffa_interrupt_deactivate(
+			args.arg1, args.arg2, vcpu);
+		break;
+#endif
+
 	default:
 		vcpu->regs.r[0] = SMCCC_ERROR_UNKNOWN;
 	}