feat(notifications): support returned in FFA_PARTITION_INFO_GET
Change-Id: Idae639e437fb49dc8f22fc542e4625305f65fb76
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/api.c b/src/api.c
index 21bec1d..0d628bd 100644
--- a/src/api.c
+++ b/src/api.c
@@ -371,7 +371,7 @@
* A Null UUID retrieves information for all VMs.
*/
for (uint16_t index = 0; index < vm_get_count(); ++index) {
- const struct vm *vm = vm_find_index(index);
+ struct vm *vm = vm_find_index(index);
if (uuid_is_null || ffa_uuid_equal(uuid, &vm->uuid)) {
partitions[vm_count].vm_id = vm->id;
@@ -379,6 +379,10 @@
partitions[vm_count].properties =
plat_ffa_partition_properties(current_vm->id,
vm);
+ partitions[vm_count].properties |=
+ vm_are_notifications_enabled(vm)
+ ? FFA_PARTITION_NOTIFICATION
+ : 0;
++vm_count;
}
@@ -2733,7 +2737,7 @@
return ffa_error(FFA_DENIED);
}
- if (!vm_are_notifications_enabled(receiver_locked)) {
+ if (!vm_locked_are_notifications_enabled(receiver_locked)) {
dlog_verbose("Notifications are not enabled.\n");
ret = ffa_error(FFA_NOT_SUPPORTED);
goto out;
@@ -2821,7 +2825,7 @@
return ffa_error(FFA_INVALID_PARAMETERS);
}
- if (!vm_are_notifications_enabled(receiver_locked)) {
+ if (!vm_locked_are_notifications_enabled(receiver_locked)) {
dlog_verbose("Receiver's notifications not enabled.\n");
ret = ffa_error(FFA_DENIED);
goto out;