feat(indirect message): add FFA_MSG_SEND2 support

FF-A v1.1 indirect message FFA_MSG_SEND2 support, allowing indirect
messaging between any endpoint (VM and SP).
When one of the endpoints is an SP, the SPMC is responsible for message
delivery to the receiver, potentially in the other world.
In order to allow cross world communication the SPMC is aware of VM
mailboxes and the Hypervisor forwards the FFA_MSG_SEND2 message to the
SPMC when the receiver is an SP.

Change-Id: Iba9b3d299b051ed3b105cb9e2b63e65fd4f662ce
Signed-off-by: Federico Recanati <federico.recanati@arm.com>
diff --git a/inc/hf/api.h b/inc/hf/api.h
index 238cbee..371fb3e 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -43,6 +43,8 @@
 				  ffa_vm_id_t receiver_vm_id, uint32_t size,
 				  uint32_t attributes, struct vcpu *current,
 				  struct vcpu **next);
+struct ffa_value api_ffa_msg_send2(ffa_vm_id_t sender_vm_id, uint32_t flags,
+				   struct vcpu *current);
 struct ffa_value api_ffa_msg_recv(bool block, struct vcpu *current,
 				  struct vcpu **next);
 struct ffa_value api_ffa_rx_release(struct vcpu *current, struct vcpu **next);