feat(notifications): bitmaps create and destroy
Handle FF-A calls FFA_NOTIFICATION_BITMAP_CREATE and
FFA_NOTIFICATION_BITMAP_DESTROY.
Interfaces are to be used by the NWd (Hypervisor or single OS kernel).
Change-Id: I0d805875ae6c7f8c080bda04e9e496d9e0d79b00
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/hf/arch/plat/ffa.h b/inc/hf/arch/plat/ffa.h
index fde3bba..57ce170 100644
--- a/inc/hf/arch/plat/ffa.h
+++ b/inc/hf/arch/plat/ffa.h
@@ -25,7 +25,8 @@
bool plat_ffa_direct_request_forward(ffa_vm_id_t receiver_vm_id,
struct ffa_value args,
struct ffa_value *ret);
-
+bool plat_ffa_is_notifications_create_valid(struct vcpu *current,
+ ffa_vm_id_t vm_id);
/**
* Checks whether managed exit is supported by given SP.
*/
@@ -53,3 +54,19 @@
* Initializes the NWd VM structures for Notifications support.
*/
void plat_ffa_vm_init(void);
+
+/**
+ * Get NWd VM's structure.
+ */
+struct vm_locked plat_ffa_vm_find_locked(ffa_vm_id_t vm_id);
+
+/**
+ * Creates a bitmap for the VM of the given ID.
+ */
+struct ffa_value plat_ffa_notifications_bitmap_create(
+ ffa_vm_id_t vm_id, ffa_vcpu_count_t vcpu_count);
+
+/**
+ * Destroys the notifications bitmap for the given VM ID.
+ */
+struct ffa_value plat_ffa_notifications_bitmap_destroy(ffa_vm_id_t vm_id);