fix(console_log): correctly fill 32-bit args

ffa_console_log_32 function printed every other 4 characters
due to filling the ffa_value args to their full capacity of
64-bits rather than at 32-bit intervals as expected by ABI.

Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I6bca636bd15339c790eead37922c705d89d822bf
diff --git a/inc/vmapi/hf/call.h b/inc/vmapi/hf/call.h
index 66e00a2..270b32d 100644
--- a/inc/vmapi/hf/call.h
+++ b/inc/vmapi/hf/call.h
@@ -536,7 +536,21 @@
 		.func = FFA_CONSOLE_LOG_32,
 		.arg1 = size,
 	};
-	memcpy_s(&req.arg2, sizeof(uint32_t) * 6, src, size);
+
+	uint64_t *arg_addrs[] = {&req.arg2, &req.arg3, &req.arg4,
+				 &req.arg5, &req.arg6, &req.arg7};
+
+	uint32_t src_index = 0;
+	uint32_t arg_idx = 0;
+
+	while (size > 0 && arg_idx < 6) {
+		size_t arg_size =
+			size < sizeof(uint32_t) ? size : sizeof(uint32_t);
+		memcpy_s(arg_addrs[arg_idx++], sizeof(uint32_t),
+			 &src[src_index], arg_size);
+		src_index += arg_size;
+		size -= arg_size;
+	}
 
 	return ffa_call(req);
 }