feat(notifications): calls for test partitions
Defined all notifications FF-A calls, for use in test partitions.
Change-Id: I6e4e40072d37e66bb21ac9a2d0db327b7fff368e
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/vmapi/hf/call.h b/inc/vmapi/hf/call.h
index 35e2af4..749e4ac 100644
--- a/inc/vmapi/hf/call.h
+++ b/inc/vmapi/hf/call.h
@@ -400,3 +400,59 @@
.arg7 = arg7,
});
}
+
+static inline struct ffa_value ffa_notification_bind(
+ ffa_vm_id_t sender_vm_id, ffa_vm_id_t receiver_vm_id, uint32_t flags,
+ ffa_notifications_bitmap_t bitmap)
+{
+ return ffa_call((struct ffa_value){
+ .func = FFA_NOTIFICATION_BIND_32,
+ .arg1 = (sender_vm_id << 16) | (receiver_vm_id),
+ .arg2 = flags,
+ .arg3 = (uint32_t)(bitmap),
+ .arg4 = (uint32_t)(bitmap >> 32),
+ });
+}
+
+static inline struct ffa_value ffa_notification_unbind(
+ ffa_vm_id_t sender_vm_id, ffa_vm_id_t receiver_vm_id,
+ ffa_notifications_bitmap_t bitmap)
+{
+ return ffa_call((struct ffa_value){
+ .func = FFA_NOTIFICATION_UNBIND_32,
+ .arg1 = (sender_vm_id << 16) | (receiver_vm_id),
+ .arg3 = (uint32_t)(bitmap),
+ .arg4 = (uint32_t)(bitmap >> 32),
+ });
+}
+
+static inline struct ffa_value ffa_notification_set(
+ ffa_vm_id_t sender_vm_id, ffa_vm_id_t receiver_vm_id, uint32_t flags,
+ ffa_notifications_bitmap_t bitmap)
+{
+ return ffa_call((struct ffa_value){
+ .func = FFA_NOTIFICATION_SET_32,
+ .arg1 = (sender_vm_id << 16) | (receiver_vm_id),
+ .arg2 = flags,
+ .arg3 = (uint32_t)(bitmap),
+ .arg4 = (uint32_t)(bitmap >> 32),
+ });
+}
+
+static inline struct ffa_value ffa_notification_get(ffa_vm_id_t receiver_vm_id,
+ ffa_vcpu_index_t vcpu_id,
+ uint32_t flags)
+{
+ return ffa_call((struct ffa_value){
+ .func = FFA_NOTIFICATION_GET_32,
+ .arg1 = (receiver_vm_id << 16) | (vcpu_id),
+ .arg2 = flags,
+ });
+}
+
+static inline struct ffa_value ffa_notification_info_get(void)
+{
+ return ffa_call((struct ffa_value){
+ .func = FFA_NOTIFICATION_INFO_GET_64,
+ });
+}