diff --git a/include/runtime_services/cactus_test_cmds.h b/include/runtime_services/cactus_test_cmds.h
index 3bb27ed..130cfa5 100644
--- a/include/runtime_services/cactus_test_cmds.h
+++ b/include/runtime_services/cactus_test_cmds.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -196,10 +196,11 @@
 
 static inline smc_ret_values cactus_mem_send_cmd(
 	ffa_id_t source, ffa_id_t dest, uint32_t mem_func,
-	ffa_memory_handle_t handle)
+	ffa_memory_handle_t handle, ffa_memory_region_flags_t retrieve_flags,
+	uint32_t word_to_write)
 {
 	return cactus_send_cmd(source, dest, CACTUS_MEM_SEND_CMD, mem_func,
-			       handle, 0, 0);
+			       handle, retrieve_flags, word_to_write);
 }
 
 static inline ffa_memory_handle_t cactus_mem_send_get_handle(smc_ret_values ret)
@@ -207,6 +208,17 @@
 	return (ffa_memory_handle_t)ret.ret5;
 }
 
+static inline ffa_memory_region_flags_t cactus_mem_send_get_retrv_flags(
+	smc_ret_values ret)
+{
+	return (ffa_memory_region_flags_t)ret.ret6;
+}
+
+static inline uint32_t cactus_mem_send_words_to_write(smc_ret_values ret)
+{
+	return (uint32_t)ret.ret7;
+}
+
 /**
  * Command to request a memory management operation. The 'mem_func' argument
  * identifies the operation that is to be performend, and 'receiver' is the id
diff --git a/include/runtime_services/spm_common.h b/include/runtime_services/spm_common.h
index 4ec71fc..398d01a 100644
--- a/include/runtime_services/spm_common.h
+++ b/include/runtime_services/spm_common.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -129,7 +129,7 @@
 bool memory_retrieve(struct mailbox_buffers *mb,
 		     struct ffa_memory_region **retrieved, uint64_t handle,
 		     ffa_id_t sender, ffa_id_t receiver,
-		     uint32_t mem_func);
+		     uint32_t mem_func, ffa_memory_region_flags_t flags);
 
 /**
  * Helper to conduct a memory relinquish. The caller is usually the receiver,
