feat(memory share): continue memory retrieve between worlds

Hypervisor can forward retrieve requests to the SPMC in two cases:
- For the retrieve request from the hypervisor, as part of its handling
of the FFA_MEM_RECLAIM to obtain the full memory descriptor, validate it
and conclude the operation.
- For the retrieve request from a NWd VM borrower.

The SPMC distinguishes both cases when the current VM is the
`other_world_vm`. For the first case the retrieve request would have
followed a specific format, whose response needs to be fragmented.
In this case the SPMC would increment the number of fragments retrieved
by the hypervisor. At the handling of FFA_MEM_FRAG_RX, if the counting
of fragments retrieved by the hypervisor is not zero, the SPMC considers
it needs to continue the retrieve operation from the hypervisor,
otherwise continues the retrieve request from the NWd VM.

Change-Id: I4a7ec597d6629fadbc16731037c6015023b19359
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/hf/ffa_memory.h b/inc/hf/ffa_memory.h
index 36a325b..a8519a1 100644
--- a/inc/hf/ffa_memory.h
+++ b/inc/hf/ffa_memory.h
@@ -30,6 +30,7 @@
 struct ffa_value ffa_memory_retrieve_continue(struct vm_locked to_locked,
 					      ffa_memory_handle_t handle,
 					      uint32_t fragment_offset,
+					      ffa_vm_id_t sender_vm_id,
 					      struct mpool *page_pool);
 struct ffa_value ffa_memory_relinquish(
 	struct vm_locked from_locked,