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,