mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-26 11:53:53 -06:00
docs: add vfio-user documentation
Add some basic documentation on vfio-user usage. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-19-john.levon@nutanix.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
1a0c32a9da
commit
c688cc165b
2 changed files with 27 additions and 0 deletions
|
@ -85,6 +85,7 @@ Emulated Devices
|
|||
devices/can.rst
|
||||
devices/ccid.rst
|
||||
devices/cxl.rst
|
||||
devices/vfio-user.rst
|
||||
devices/ivshmem.rst
|
||||
devices/ivshmem-flat.rst
|
||||
devices/keyboard.rst
|
||||
|
|
26
docs/system/devices/vfio-user.rst
Normal file
26
docs/system/devices/vfio-user.rst
Normal file
|
@ -0,0 +1,26 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
=========
|
||||
vfio-user
|
||||
=========
|
||||
|
||||
QEMU includes a ``vfio-user`` client. The ``vfio-user`` specification allows for
|
||||
implementing (PCI) devices in userspace outside of QEMU; it is similar to
|
||||
``vhost-user`` in this respect (see :doc:`vhost-user`), but can emulate arbitrary
|
||||
PCI devices, not just ``virtio``. Whereas ``vfio`` is handled by the host
|
||||
kernel, ``vfio-user``, while similar in implementation, is handled entirely in
|
||||
userspace.
|
||||
|
||||
For example, SPDK includes a virtual PCI NVMe controller implementation; by
|
||||
setting up a ``vfio-user`` UNIX socket between QEMU and SPDK, a VM can send NVMe
|
||||
I/O to the SPDK process.
|
||||
|
||||
Presuming a suitable ``vfio-user`` server has opened a socket at
|
||||
``/tmp/vfio-user.sock``, a device can be configured with for example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
-device '{"driver": "vfio-user-pci","socket": {"path": "/tmp/vfio-user.sock", "type": "unix"}}'
|
||||
|
||||
See `libvfio-user <https://github.com/nutanix/libvfio-user/>`_ for further
|
||||
information.
|
Loading…
Add table
Add a link
Reference in a new issue