feat(notifications): get notifications from SPs
Handling the call FFA_NOTIFICATION_GET to retrieve pending notifications
from SPs:
- SPMC retrieves the pending notifications from the partition's bitmap
field;
- Hypervisor forwards the call to SPMC, analyzes the returned value
and populates its return to the VM.
Hypervisor case useful to test notifications full signaling flow from
NWd.
Change-Id: Icda45d0bca025a023c75ec2ceecf15d06c2456a0
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/api.c b/src/api.c
index 37a6ca9..27189e9 100644
--- a/src/api.c
+++ b/src/api.c
@@ -2809,12 +2809,12 @@
}
if ((flags & FFA_NOTIFICATION_FLAG_BITMAP_SP) != 0U) {
- /*
- * TODO: For hypervisor, forward call to SPMC to get VM's
- * notifications from SPs.
- */
- sp_notifications = vm_notifications_get_pending_and_clear(
- receiver_locked, false, vcpu_id);
+ if (!plat_ffa_notifications_get_from_sp(
+ receiver_locked, vcpu_id, &sp_notifications,
+ &ret)) {
+ dlog_verbose("Failed to get notifications from sps.");
+ goto out;
+ }
}
if ((flags & FFA_NOTIFICATION_FLAG_BITMAP_VM) != 0U) {