Implement FFA ABI-s for notification handling
This change implements the listed FFA ABI-s:
- FFA_NOTIFICATION_BIND
- FFA_NOTIFICATION_UNBIND
- FFA_NOTIFICATION_SET
- FFA_NOTIFICATION_GET
Change-Id: Ifc231e3d60427b1c838cf622d8338d3e112209c1
Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
diff --git a/components/messaging/ffa/libsp/include/ffa_api.h b/components/messaging/ffa/libsp/include/ffa_api.h
index bec9009..6366fca 100644
--- a/components/messaging/ffa/libsp/include/ffa_api.h
+++ b/components/messaging/ffa/libsp/include/ffa_api.h
@@ -414,6 +414,63 @@
ffa_result ffa_console_log_64(const char *message, size_t length);
/**
+ * @brief Requests the partition manager to bind notifications specified
+ * in the Notification bitmap parameter to the Sender endpoint.
+ *
+ * @param[in] sender Sender endpoint ID
+ * @param[in] receiver Receiver endpoint ID
+ * @param[in] flags Notification flags
+ * @param[in] notification_bitmap Bitmap to identify the notifications which the
+ * Sender endpoint is allowed to signal.
+ * @return The FF-A error status code
+ */
+ffa_result ffa_notification_bind(uint16_t sender, uint16_t receiver, uint32_t flags,
+ uint64_t notification_bitmap);
+
+/**
+ * @brief Requests the partition manager to unbind notifications specified
+ * in the Notification bitmap parameter to the Sender endpoint.
+ *
+ * @param[in] sender Sender endpoint ID
+ * @param[in] receiver Receiver endpoint ID
+ * @param[in] notification_bitmap Bitmap to identify the notifications which the
+ * sender endpoint is allowed to signal.
+ * @return The FF-A error status code
+ */
+ffa_result ffa_notification_unbind(uint16_t sender, uint16_t receiver,
+ uint64_t notification_bitmap);
+
+/**
+ * @brief Requests the partition manager to signal notifications specified
+ * in the Notification bitmap parameter to the Sender endpoint.
+ *
+ * @param[in] sender Sender endpoint ID
+ * @param[in] receiver Receiver endpoint ID
+ * @param[in] flags Notification flags
+ * @param[in] notification_bitmap Bitmap to identify the notifications which the
+ * sender endpoint is allowed to signal.
+ * @return The FF-A error status code
+ */
+ffa_result ffa_notification_set(uint16_t sender, uint16_t receiver, uint32_t flags,
+ uint64_t notification_bitmap);
+
+/**
+ * @brief Requests the partition manager to request notifications specified
+ * in the Notification bitmap parameter to the Sender endpoint.
+ *
+ * @param[in] sender Sender endpoint ID
+ * @param[in] receiver Receiver endpoint ID
+ * @param[in] flags Notification flags
+ * @param[out] sp_notification_bitmap Pending notifications received from SPs.
+ * @param[out] vm_notification_bitmap Pending notifications received from VMs.
+ * @param[out] framework_notification_bitmap Pending notifications received from the framework.
+ * @return The FF-A error status code
+ */
+ffa_result ffa_notification_get(uint16_t sender, uint16_t receiver, uint32_t flags,
+ uint64_t *sp_notification_bitmap, uint64_t *vm_notification_bitmap,
+ uint64_t *framework_notification_bitmap);
+
+/**
* @brief Interrupt handler prototype. Must be implemented by another
* component.
*