feat: route secure interrupts to any physical PE

This patch makes changes necessary to allow a physical interrupt to be
routed to a particular PE (by mpidr). Until now, all interrupts were
routed to the boot core by default. To maintain compatiblity with
existing behavior and manifests, the patch adds a new manifest field
'interrupts-target' through which the interrupt id and corresponding
MPIDR are supplied. This is then used to configure the gic
appropriately, to route interrupts to the desired PE.

Change-Id: I3ed8f51e7679bb65c0aca030b21395598553e6ec
Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
diff --git a/inc/hf/manifest.h b/inc/hf/manifest.h
index d2f9428..3f4cd3e 100644
--- a/inc/hf/manifest.h
+++ b/inc/hf/manifest.h
@@ -67,6 +67,8 @@
 struct interrupt_info {
 	uint32_t id;
 	uint32_t attributes;
+	bool mpidr_valid;
+	uint64_t mpidr;
 };
 
 /**
@@ -231,6 +233,7 @@
 	MANIFEST_ERROR_INVALID_MEM_PERM,
 	MANIFEST_ERROR_INTERRUPT_ID_REPEATED,
 	MANIFEST_ILLEGAL_NS_ACTION,
+	MANIFEST_ERROR_INTERRUPT_ID_NOT_IN_LIST,
 };
 
 enum manifest_return_code manifest_init(struct mm_stage1_locked stage1_locked,