feat: queue interrupts upon CPU cycle allocation through FFA_RUN
Before an SP is allocated CPU cycles to start or extend a call chain,
SPMC must queue interrupts based on the action specified by the SP in
response to non-secure and other secure interrupts.
Currently, interrupts were queued only when CPU cycles were allocated
through FFA_MSG_SEND_DIRECT_REQ. This patch extends it for the
scenario where CPU cycles are allocated by NWd through FFA_RUN ABI.
Consequently, the interrupts are allowed to trigger when SP
relinquishes CPU cycles back through FFA_YIELD and FFA_MSG_WAIT
interfaces.
Change-Id: I517c1a3d13870487987379cad2a1e0bd5a816334
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/src/api.c b/src/api.c
index 623111f..baa2d0e 100644
--- a/src/api.c
+++ b/src/api.c
@@ -285,6 +285,7 @@
assert(next_state == VCPU_STATE_BLOCKED);
+ plat_ffa_yield_prepare(current);
*next = api_switch_to_primary(
current,
(struct ffa_value){.func = FFA_YIELD_32,