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);
}