docs/system: split VirtIO devices from the rest

In an effort to tidy up our device documentation split the VirtIO docs
from the rest of the index and put the index to them at the front of
the list. Sort the remaining entries alphabetically and tweak the
references appropriately.

Add a short preface to the VirtIO section nudging users to use VirtIO
unless they specifically want a particular piece of hardware
emulation.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: John Levon <john.levon@nutanix.com>
Message-ID: <20251016150357.876415-9-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée
2025-10-20 13:46:28 +01:00
parent 8a545a336d
commit 487ce6ce99
9 changed files with 38 additions and 12 deletions
+7 -11
View File
@@ -82,22 +82,18 @@ Emulated Devices
.. toctree::
:maxdepth: 1
devices/virtio/index.rst
devices/can.rst
devices/canokey.rst
devices/ccid.rst
devices/cxl.rst
devices/vfio-user.rst
devices/ivshmem.rst
devices/igb.rst
devices/ivshmem-flat.rst
devices/ivshmem.rst
devices/keyboard.rst
devices/net.rst
devices/nvme.rst
devices/usb.rst
devices/vhost-user.rst
devices/virtio-gpu.rst
devices/virtio-pmem.rst
devices/virtio-snd.rst
devices/vhost-user-input.rst
devices/vhost-user-rng.rst
devices/canokey.rst
devices/usb-u2f.rst
devices/igb.rst
devices/usb.rst
devices/vfio-user.rst
+1 -1
View File
@@ -6,7 +6,7 @@ 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
``vhost-user`` in this respect (see :doc:`virtio/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.
+30
View File
@@ -0,0 +1,30 @@
VirtIO Devices
==============
VirtIO devices are paravirtualized devices designed to be efficient to
emulate and virtualize. Unless you are specifically trying to exercise
a driver for some particular hardware they are the recommended device
models to use for virtual machines.
The `VirtIO specification`_ is an open standard managed by OASIS. It
describes how a *driver* in a guest operating system interacts with
the *device* model provided by QEMU. Multiple Operating Systems
support drivers for VirtIO with Linux perhaps having the widest range
of device types supported.
The device implementation can either be provided wholly by QEMU, or in
concert with the kernel (known as *vhost*). The device implementation
can also be off-loaded to an external process via :ref:`vhost user
<vhost_user>`.
.. toctree::
:maxdepth: 1
virtio-gpu.rst
virtio-pmem.rst
virtio-snd.rst
vhost-user.rst
vhost-user-input.rst
vhost-user-rng.rst
.. _VirtIO specification: https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html