Support fragmented memory sharing messages.
Bug: 132420445
Change-Id: I638f7fece9a8f83976c0e9ff2fd3ad66dac3ad25
diff --git a/inc/hf/api.h b/inc/hf/api.h
index bfeed7c..be825fd 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -71,3 +71,11 @@
struct ffa_value api_ffa_mem_reclaim(ffa_memory_handle_t handle,
ffa_memory_region_flags_t flags,
struct vcpu *current);
+struct ffa_value api_ffa_mem_frag_rx(ffa_memory_handle_t handle,
+ uint32_t fragment_offset,
+ ffa_vm_id_t sender_vm_id,
+ struct vcpu *current);
+struct ffa_value api_ffa_mem_frag_tx(ffa_memory_handle_t handle,
+ uint32_t fragment_length,
+ ffa_vm_id_t sender_vm_id,
+ struct vcpu *current);
diff --git a/inc/hf/ffa_memory.h b/inc/hf/ffa_memory.h
index 9715918..3637980 100644
--- a/inc/hf/ffa_memory.h
+++ b/inc/hf/ffa_memory.h
@@ -30,17 +30,34 @@
struct vm_locked from_locked, struct vm_locked to_locked,
struct ffa_memory_region *memory_region, uint32_t memory_share_length,
uint32_t fragment_length, uint32_t share_func, struct mpool *page_pool);
+struct ffa_value ffa_memory_send_continue(struct vm_locked from_locked,
+ void *fragment,
+ uint32_t fragment_length,
+ ffa_memory_handle_t handle,
+ struct mpool *page_pool);
+struct ffa_value ffa_memory_tee_send_continue(struct vm_locked from_locked,
+ struct vm_locked to_locked,
+ void *fragment,
+ uint32_t fragment_length,
+ ffa_memory_handle_t handle,
+ struct mpool *page_pool);
struct ffa_value ffa_memory_retrieve(struct vm_locked to_locked,
struct ffa_memory_region *retrieve_request,
uint32_t retrieve_request_length,
struct mpool *page_pool);
+struct ffa_value ffa_memory_retrieve_continue(struct vm_locked to_locked,
+ ffa_memory_handle_t handle,
+ uint32_t fragment_offset,
+ struct mpool *page_pool);
struct ffa_value ffa_memory_relinquish(
struct vm_locked from_locked,
struct ffa_mem_relinquish *relinquish_request, struct mpool *page_pool);
struct ffa_value ffa_memory_reclaim(struct vm_locked to_locked,
- ffa_memory_handle_t handle, bool clear,
+ ffa_memory_handle_t handle,
+ ffa_memory_region_flags_t flags,
struct mpool *page_pool);
struct ffa_value ffa_memory_tee_reclaim(struct vm_locked to_locked,
+ struct vm_locked from_locked,
ffa_memory_handle_t handle,
- struct ffa_memory_region *memory_region,
- bool clear, struct mpool *page_pool);
+ ffa_memory_region_flags_t flags,
+ struct mpool *page_pool);