Add new argument to hf_mailbox_send.

We don't do anything with it yet, but adding it in a separate patch
reduces the mix of functionality and refactor in the next patch.

Change-Id: I24cbd4d35c4cf9e4985a72d336a68c496c9cc2be
diff --git a/inc/hf/api.h b/inc/hf/api.h
index 1bf9c92..9c86cbf 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -31,9 +31,8 @@
 				       struct vcpu **next);
 int64_t api_vm_configure(ipaddr_t send, ipaddr_t recv,
 			 const struct vcpu *current);
-
-int64_t api_mailbox_send(uint32_t vm_id, size_t size, struct vcpu *current,
-			 struct vcpu **next);
+int64_t api_mailbox_send(uint32_t vm_id, size_t size, bool notify,
+			 struct vcpu *current, struct vcpu **next);
 struct hf_mailbox_receive_return api_mailbox_receive(bool block,
 						     struct vcpu *current,
 						     struct vcpu **next);
diff --git a/inc/vmapi/hf/call.h b/inc/vmapi/hf/call.h
index 6466b15..3922f7a 100644
--- a/inc/vmapi/hf/call.h
+++ b/inc/vmapi/hf/call.h
@@ -105,6 +105,9 @@
 /**
  * Copies data from the sender's send buffer to the recipient's receive buffer.
  *
+ * If the recipient's receive buffer is busy, it can optionally register the
+ * caller to be notified when the recipient's receive buffer becomes available.
+ *
  * Returns -1 on failure, and on success either:
  *  - 0, if the caller is a secondary VM
  *  - the ID of the vCPU to run to receive the message, if the caller is the
@@ -112,9 +115,9 @@
  *  - HF_INVALID_VCPU if the caller is the primary VM and no vCPUs on the target
  *    VM are currently waiting to receive a message.
  */
-static inline int64_t hf_mailbox_send(uint32_t vm_id, size_t size)
+static inline int64_t hf_mailbox_send(uint32_t vm_id, size_t size, bool notify)
 {
-	return hf_call(HF_MAILBOX_SEND, vm_id, size, 0);
+	return hf_call(HF_MAILBOX_SEND, vm_id, size, notify);
 }
 
 /**