feat(interrupts): new interrupt controller ABIs

This patch introduces additional platform interrupt controller ABIs
and implements these ABIs for a dummy platform interrupt controller
and a fake platform.

Change-Id: I08c140f43edc7a72958fc3638b33b4365a88b40a
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/src/arch/fake/hypervisor/BUILD.gn b/src/arch/fake/hypervisor/BUILD.gn
index a845532..89c75a7 100644
--- a/src/arch/fake/hypervisor/BUILD.gn
+++ b/src/arch/fake/hypervisor/BUILD.gn
@@ -8,6 +8,7 @@
   sources = [
     "cpu.c",
     "ffa.c",
+    "interrupts.c",
   ]
   deps = [
     "//src/arch/fake:arch",
diff --git a/src/arch/fake/hypervisor/cpu.c b/src/arch/fake/hypervisor/cpu.c
index 2ef9f32..8f3a5ad 100644
--- a/src/arch/fake/hypervisor/cpu.c
+++ b/src/arch/fake/hypervisor/cpu.c
@@ -10,6 +10,7 @@
 
 #include "hf/cpu.h"
 #include "hf/ffa.h"
+#include "hf/plat/interrupts.h"
 
 void arch_irq_disable(void)
 {
@@ -21,11 +22,6 @@
 	/* TODO */
 }
 
-void plat_interrupts_set_priority_mask(uint8_t min_priority)
-{
-	(void)min_priority;
-}
-
 void arch_regs_reset(struct vcpu *vcpu)
 {
 	/* TODO */
diff --git a/src/arch/fake/hypervisor/interrupts.c b/src/arch/fake/hypervisor/interrupts.c
new file mode 100644
index 0000000..4d2585b
--- /dev/null
+++ b/src/arch/fake/hypervisor/interrupts.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2021 The Hafnium Authors.
+ *
+ * Use of this source code is governed by a BSD-style
+ * license that can be found in the LICENSE file or at
+ * https://opensource.org/licenses/BSD-3-Clause.
+ */
+
+#include "hf/plat/interrupts.h"
+
+#include "hf/cpu.h"
+#include "hf/ffa.h"
+
+void plat_interrupts_set_priority_mask(uint8_t min_priority)
+{
+	(void)min_priority;
+}
+
+void plat_interrupts_controller_hw_init(struct cpu *c)
+{
+	(void)c;
+}