feat(notifications): forward notification info get to SPMC
The hypervisor forward FFA_NOTIFICATION_INFO_GET to the SPMC, to
retrieve the pending notifications info from SWd. It includes
notifications to SPs, and notifications from SPs to VMs.
Change-Id: I46549cc5ef7eb49addace546946222792d2be25b
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/api.c b/src/api.c
index 8feb745..cb27a58 100644
--- a/src/api.c
+++ b/src/api.c
@@ -2972,6 +2972,16 @@
return ffa_error(FFA_NOT_SUPPORTED);
}
+ /*
+ * Forward call to the other world, and fill the arrays used to assemble
+ * return.
+ */
+ plat_ffa_notification_info_get_forward(
+ ids, &ids_count, lists_sizes, &lists_count,
+ FFA_NOTIFICATIONS_INFO_GET_MAX_IDS);
+
+ list_is_full = ids_count == FFA_NOTIFICATIONS_INFO_GET_MAX_IDS;
+
/* Get notifications' info from this world */
for (ffa_vm_count_t index = 0; index < vm_get_count() && !list_is_full;
++index) {
@@ -2992,6 +3002,8 @@
}
if (ids_count == 0) {
+ dlog_verbose(
+ "Notification info get has no data to retrieve.\n");
return ffa_error(FFA_NO_DATA);
}