feat(memory share): send multiple receiver regions

Updates `memory_init_and_send` to allow passing more than one receiver.
Tests for this functionality will be added in the next commit.

Change-Id: I51d92d74f64bfebfa3d49ff6d5066050087b44ef
Signed-off-by: Karl Meakin <karl.meakin@arm.com>
diff --git a/tftf/tests/misc_tests/test_invalid_access.c b/tftf/tests/misc_tests/test_invalid_access.c
index 343a553..353162b 100644
--- a/tftf/tests/misc_tests/test_invalid_access.c
+++ b/tftf/tests/misc_tests/test_invalid_access.c
@@ -1,9 +1,10 @@
 /*
- * Copyright (c) 2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2022-2023, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
+#include "ffa_helpers.h"
 #include <plat/common/platform.h>
 
 #include <arch.h>
@@ -293,6 +294,10 @@
 	struct mailbox_buffers mb;
 	struct ffa_value ret;
 
+	struct ffa_memory_access receiver =
+		ffa_memory_access_init_permissions_from_mem_func(
+			RECEIVER, FFA_MEM_SHARE_SMC32);
+
 	if (get_armv9_2_feat_rme_support() == 0U) {
 		return TEST_RESULT_SKIPPED;
 	}
@@ -302,9 +307,9 @@
 	GET_TFTF_MAILBOX(mb);
 
 	handle = memory_init_and_send((struct ffa_memory_region *)mb.send,
-					PAGE_SIZE, SENDER, RECEIVER,
-					constituents, constituents_count,
-					FFA_MEM_SHARE_SMC32, &ret);
+				      PAGE_SIZE, SENDER, &receiver, 1,
+				      constituents, constituents_count,
+				      FFA_MEM_SHARE_SMC32, &ret);
 
 	if (handle == FFA_MEMORY_HANDLE_INVALID) {
 		return TEST_RESULT_SUCCESS;