f21e95ee97
The current model of memory mapping at the back-end works fine where a standard call to mmap() (for the respective file descriptor) is enough before the front-end can start accessing the guest memory. There are other complex cases though where the back-end needs more information and simple mmap() isn't enough. For example Xen, a type-1 hypervisor, currently supports memory mapping via two different methods, foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In both these cases, the back-end needs to call mmap() and ioctl(), with extra information like the Xen domain-id of the guest whose memory we are trying to map. Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets the back-end know about the additional memory mapping requirements. When this feature is negotiated, the front-end will send the additional information within the memory regions themselves. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Message-Id: <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> |
||
---|---|---|
.. | ||
barrier.rst | ||
bitmaps.rst | ||
dbus-display.rst | ||
dbus-vmstate.rst | ||
dbus.rst | ||
firmware.json | ||
index.rst | ||
live-block-operations.rst | ||
nbd.txt | ||
parallels.txt | ||
pr-helper.rst | ||
prl-xml.txt | ||
qcow2.txt | ||
qed_spec.txt | ||
qemu-ga-ref.rst | ||
qemu-ga.rst | ||
qemu-qmp-ref.rst | ||
qemu-storage-daemon-qmp-ref.rst | ||
qmp-intro.txt | ||
qmp-spec.txt | ||
vhost-user-gpu.rst | ||
vhost-user.json | ||
vhost-user.rst | ||
vhost-vdpa.rst | ||
virtio-balloon-stats.rst | ||
vnc-ledstate-pseudo-encoding.rst |