feat(dir msg): add FFA_MSG_SEND_DIRECT_REQ2

Add FFA_MSG_SEND_DIRECT_REQ2 interface from FF-A 1.2 spec.

This patch implements:
  * Ability to send a direct message using FFA_MSG_SEND_DIRECT_REQ2
    function id.
  * Ability to specify a UUID as an argument in a direct message.
  * Runtime check to verify partition's messaging method allows
    send/receive via FFA_MSG_SEND_DIRECT_REQ2.
  * Runtime check to verify a partition implementing an FF-A version <
    v1.2 does not support sending/receiving messages via
    FFA_MSG_SEND_DIRECT_REQ2.

Related work to be added in subsequent patches:
  * Allow extended register usage (x4-x17 updated from x4-x7).
  * Support for multiple UUIDs per partition.
  * Support for FFA_MSG_SEND_DIRECT_RESP2.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: Ibed2cf8b9c96facff65110e6a391b3087e16a781
diff --git a/inc/hf/api.h b/inc/hf/api.h
index 6bfd971..6eb1f02 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -108,6 +108,11 @@
 					     struct ffa_value args,
 					     struct vcpu *current,
 					     struct vcpu **next);
+struct ffa_value api_ffa_msg_send_direct_req2(ffa_id_t sender_vm_id,
+					      ffa_id_t receiver_vm_id,
+					      struct ffa_value args,
+					      struct vcpu *current,
+					      struct vcpu **next);
 struct ffa_value api_ffa_msg_send_direct_resp(ffa_id_t sender_vm_id,
 					      ffa_id_t receiver_vm_id,
 					      struct ffa_value args,