feat(ff-a): validate FFA_RXTX_MAP/UNMAP against NWd page tables
Check in FFA_RXTX_MAP/RXTX_UNMAP interfaces that rxtx buffers are mapped
in the NWd page tables.
Unmap rxtx buffers from NWd page tables during FFA_RXTX_MAP, so that the
buffers cannot be used for memory sharing operations from NWd, or
FFA_RXTX_MAP in another instance.
Remap rxtx buffers to NWd page tables during FFA_RXTX_UNMAP, so that the
buffers can be used for memory sharing operations again.
Signed-off-by: Karl Meakin <karl.meakin@arm.com>
Change-Id: I3419b1dcd97edcce18db59f3de66fcc850ea655d
diff --git a/inc/hf/arch/other_world.h b/inc/hf/arch/other_world.h
index 7d7ed3e..5edb642 100644
--- a/inc/hf/arch/other_world.h
+++ b/inc/hf/arch/other_world.h
@@ -17,3 +17,13 @@
struct mpool *ppool);
struct ffa_value arch_other_world_call(struct ffa_value args);
struct ffa_value arch_other_world_call_ext(struct ffa_value args);
+
+struct ffa_value arch_other_world_vm_configure_rxtx_map(
+ struct vm_locked vm_locked, struct mpool *local_page_pool,
+ paddr_t pa_send_begin, paddr_t pa_send_end, paddr_t pa_recv_begin,
+ paddr_t pa_recv_end);
+
+struct ffa_value arch_other_world_vm_configure_rxtx_unmap(
+ struct vm_locked vm_locked, struct mpool *local_page_pool,
+ paddr_t pa_send_begin, paddr_t pa_send_end, paddr_t pa_recv_begin,
+ paddr_t pa_recv_end);