|
@@ -38,6 +38,26 @@ conventions <backend_conventions>`.
|
|
|
*Master* and *slave* can be either a client (i.e. connecting) or
|
|
|
server (listening) in the socket communication.
|
|
|
|
|
|
+Support for platforms other than Linux
|
|
|
+--------------------------------------
|
|
|
+
|
|
|
+While vhost-user was initially developed targeting Linux, nowadays it
|
|
|
+is supported on any platform that provides the following features:
|
|
|
+
|
|
|
+- A way for requesting shared memory represented by a file descriptor
|
|
|
+ so it can be passed over a UNIX domain socket and then mapped by the
|
|
|
+ other process.
|
|
|
+
|
|
|
+- AF_UNIX sockets with SCM_RIGHTS, so QEMU and the other process can
|
|
|
+ exchange messages through it, including ancillary data when needed.
|
|
|
+
|
|
|
+- Either eventfd or pipe/pipe2. On platforms where eventfd is not
|
|
|
+ available, QEMU will automatically fall back to pipe2 or, as a last
|
|
|
+ resort, pipe. Each file descriptor will be used for receiving or
|
|
|
+ sending events by reading or writing (respectively) an 8-byte value
|
|
|
+ to the corresponding it. The 8-value itself has no meaning and
|
|
|
+ should not be interpreted.
|
|
|
+
|
|
|
Message Specification
|
|
|
=====================
|
|
|
|