diff mbox series

[v4,6/6] docs/system: add a basic enumeration of vhost-user devices

Message ID 20231009095937.195728-7-alex.bennee@linaro.org
State New
Headers show
Series virtio: cleanup vhost-user-generic and reduce c&p | expand

Commit Message

Alex Bennée Oct. 9, 2023, 9:59 a.m. UTC
Make it clear the vhost-user-device is intended for expert use only.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
v2
  - make clear vhost-user-device for expert use
---
 docs/system/devices/vhost-user-rng.rst |  2 ++
 docs/system/devices/vhost-user.rst     | 41 ++++++++++++++++++++++++++
 2 files changed, 43 insertions(+)

Comments

Manos Pitsidianakis Oct. 9, 2023, 1:38 p.m. UTC | #1
On Mon, 09 Oct 2023 12:59, Alex Bennée <alex.bennee@linaro.org> wrote:
>diff --git a/docs/system/devices/vhost-user.rst 
>b/docs/system/devices/vhost-user.rst
>index a80e95a48a..0f9eec3f00 100644
>--- a/docs/system/devices/vhost-user.rst
>+++ b/docs/system/devices/vhost-user.rst
>@@ -15,6 +15,47 @@ to the guest. The code is mostly boilerplate although each device has
> a ``chardev`` option which specifies the ID of the ``--chardev``
> device that connects via a socket to the vhost-user *daemon*.
> 
>+Each device will have an virtio-mmio and virtio-pci variant. See your
>+platform details for what sort of virtio bus to use.
>+
>+.. list-table:: vhost-user devices
>+  :widths: 20 20 60
>+  :header-rows: 1
>+
>+  * - Device
>+    - Type
>+    - Notes
>+  * - vhost-user-device
>+    - Generic Development Device
>+    - You must manually specify ``virtio-id`` and the correct ``num_vqs``. Intended for expert use.

May be worth specifying they are `VHostUserBase` interface fields since 
it's not directly obvious if you come across this before reading the 
vhost-user-device code.

>+  * - vhost-user-blk
>+    - Block storage
>+    -
>+  * - vhost-user-fs
>+    - File based storage driver
>+    - See https://gitlab.com/virtio-fs/virtiofsd
>+  * - vhost-user-scsi
>+    - SCSI based storage
>+    - See contrib/vhost-user/scsi
>+  * - vhost-user-gpio
>+    - Proxy gpio pins to host
>+    - See https://github.com/rust-vmm/vhost-device
>+  * - vhost-user-i2c
>+    - Proxy i2c devices to host
>+    - See https://github.com/rust-vmm/vhost-device
>+  * - vhost-user-input
>+    - Generic input driver
>+    - See contrib/vhost-user-input
>+  * - vhost-user-rng
>+    - Entropy driver
>+    - :ref:`vhost_user_rng`
>+  * - vhost-user-gpu
>+    - GPU driver
>+    -
>+  * - vhost-user-vsock
>+    - Socket based communication
>+    - See https://github.com/rust-vmm/vhost-device
>+

There's also:

- hw/virtio/vhost-user-scmi.c
- hw/virtio/vhost-user-snd.c
diff mbox series

Patch

diff --git a/docs/system/devices/vhost-user-rng.rst b/docs/system/devices/vhost-user-rng.rst
index a145d4105c..ead1405326 100644
--- a/docs/system/devices/vhost-user-rng.rst
+++ b/docs/system/devices/vhost-user-rng.rst
@@ -1,3 +1,5 @@ 
+.. _vhost_user_rng:
+
 QEMU vhost-user-rng - RNG emulation
 ===================================
 
diff --git a/docs/system/devices/vhost-user.rst b/docs/system/devices/vhost-user.rst
index a80e95a48a..0f9eec3f00 100644
--- a/docs/system/devices/vhost-user.rst
+++ b/docs/system/devices/vhost-user.rst
@@ -15,6 +15,47 @@  to the guest. The code is mostly boilerplate although each device has
 a ``chardev`` option which specifies the ID of the ``--chardev``
 device that connects via a socket to the vhost-user *daemon*.
 
+Each device will have an virtio-mmio and virtio-pci variant. See your
+platform details for what sort of virtio bus to use.
+
+.. list-table:: vhost-user devices
+  :widths: 20 20 60
+  :header-rows: 1
+
+  * - Device
+    - Type
+    - Notes
+  * - vhost-user-device
+    - Generic Development Device
+    - You must manually specify ``virtio-id`` and the correct ``num_vqs``. Intended for expert use.
+  * - vhost-user-blk
+    - Block storage
+    -
+  * - vhost-user-fs
+    - File based storage driver
+    - See https://gitlab.com/virtio-fs/virtiofsd
+  * - vhost-user-scsi
+    - SCSI based storage
+    - See contrib/vhost-user/scsi
+  * - vhost-user-gpio
+    - Proxy gpio pins to host
+    - See https://github.com/rust-vmm/vhost-device
+  * - vhost-user-i2c
+    - Proxy i2c devices to host
+    - See https://github.com/rust-vmm/vhost-device
+  * - vhost-user-input
+    - Generic input driver
+    - See contrib/vhost-user-input
+  * - vhost-user-rng
+    - Entropy driver
+    - :ref:`vhost_user_rng`
+  * - vhost-user-gpu
+    - GPU driver
+    -
+  * - vhost-user-vsock
+    - Socket based communication
+    - See https://github.com/rust-vmm/vhost-device
+
 vhost-user daemon
 =================