Basic memory sharing.
The introduces the basic functionality for memory sharing. The API used
to invoke memory sharing is a placeholder while we decide on what the
proper interface should look like.
Change-Id: Ia5c2c224119d896b3fc2294b0828626ec325e1e7
diff --git a/inc/vmapi/hf/abi.h b/inc/vmapi/hf/abi.h
index 451de41..4716f01 100644
--- a/inc/vmapi/hf/abi.h
+++ b/inc/vmapi/hf/abi.h
@@ -94,6 +94,26 @@
uint32_t size;
};
+enum hf_share {
+ /**
+ * Relinquish ownership and access to the memory and pass them to the
+ * recipient.
+ */
+ HF_MEMORY_GIVE,
+
+ /**
+ * Retain ownership of the memory but relinquish access to the
+ * recipient.
+ */
+ HF_MEMORY_LEND,
+
+ /**
+ * Retain ownership and access but additionally allow access to the
+ * recipient.
+ */
+ HF_MEMORY_SHARE,
+};
+
/**
* Encode an hf_vcpu_run_return struct in the 64-bit packing ABI.
*/