On Thu, Mar 03, 2022 at 12:59:11PM +0100, Sergio Lopez wrote: > Add a section explaining how vhost-user is supported on platforms > other than Linux. > > Signed-off-by: Sergio Lopez <slp@xxxxxxxxxx> > --- > docs/interop/vhost-user.rst | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst > index edc3ad84a3..590a626b92 100644 > --- a/docs/interop/vhost-user.rst > +++ b/docs/interop/vhost-user.rst > @@ -38,6 +38,24 @@ 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 is s/is/it is/ > +supported on any platform that provides the following features: > + > +- The ability to share a mapping injected into the guest between > + multiple processes, so both QEMU and the vhost-user daemon servicing > + the device can access simultaneously the memory regions containing > + the virtqueues and the data associated with each request. Please generalize this statement since there are other vhost-user protocol features aside from guest RAM access that involve shared memory: 1. VHOST_USER_SET_LOG_BASE 2. VHOST_USER_SET_INFLIGHT_FD The exact requirement is: The vhost-user protocol relies on 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 can communicate with the > + vhost-user daemon and send it file descriptors when needed. > + > +- Either eventfd or pipe/pipe2. On platforms where eventfd is not > + available, QEMU will automatically fallback to pipe2 or, as a last The noun is "fallback", the verb form is "fall back": s/fallback/fall back/ It's worth mentioning that events are sent over pipe fds by writing an 8-byte value. The 8-byte value has no meaning and should not be interpreted.
Attachment:
signature.asc
Description: PGP signature