Add 64 bit direct message handling to libsp

* Change direct message struct to allow 64 bit arguments
* Add 64 bit direct message req/resp functions to FF-A layer
* Distinguish 32/64 bit messages on SP layer by field in sp_msg
* Update tests and mocks

The FF-A direct message response must match the request's 32/64bit mode
which is the responsibility of the callee and it should be validated by
the SPMC.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Ibbd64ca0291dfe142a23471a649a07ba1a036824
diff --git a/deployments/smm-gateway/common/smm_gateway_sp.c b/deployments/smm-gateway/common/smm_gateway_sp.c
index 2187fea..3697b7f 100644
--- a/deployments/smm-gateway/common/smm_gateway_sp.c
+++ b/deployments/smm-gateway/common/smm_gateway_sp.c
@@ -70,10 +70,10 @@
 	while (1) {
 		mm_communicate_call_ep_receive(&mm_communicate_call_ep, &req_msg, &resp_msg);
 
-		ffa_msg_send_direct_resp(req_msg.destination_id,
-					 req_msg.source_id, resp_msg.args[0],
-					 resp_msg.args[1], resp_msg.args[2],
-					 resp_msg.args[3], resp_msg.args[4],
+		ffa_msg_send_direct_resp_32(req_msg.destination_id,
+					 req_msg.source_id, resp_msg.args.args32[0],
+					 resp_msg.args.args32[1], resp_msg.args.args32[2],
+					 resp_msg.args.args32[3], resp_msg.args.args32[4],
 					 &req_msg);
 	}