[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v9 09/11] docs/system: Add vhost-user-input documentation
From: |
Alex Bennée |
Subject: |
[PATCH v9 09/11] docs/system: Add vhost-user-input documentation |
Date: |
Thu, 4 Jan 2024 21:09:43 +0000 |
From: Leo Yan <leo.yan@linaro.org>
This adds basic documentation for vhost-user-input.
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Message-Id: <20231120043721.50555-3-leo.yan@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
MAINTAINERS | 1 +
docs/system/device-emulation.rst | 1 +
docs/system/devices/vhost-user-input.rst | 45 ++++++++++++++++++++++++
docs/system/devices/vhost-user.rst | 4 ++-
4 files changed, 50 insertions(+), 1 deletion(-)
create mode 100644 docs/system/devices/vhost-user-input.rst
diff --git a/MAINTAINERS b/MAINTAINERS
index 607f71817f8..ff70987aeb3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2274,6 +2274,7 @@ L: virtio-fs@lists.linux.dev
virtio-input
M: Gerd Hoffmann <kraxel@redhat.com>
S: Odd Fixes
+F: docs/system/devices/vhost-user-input.rst
F: hw/input/vhost-user-input.c
F: hw/input/virtio-input*.c
F: include/hw/virtio/virtio-input.h
diff --git a/docs/system/device-emulation.rst b/docs/system/device-emulation.rst
index d1f3277cb02..f19777411cd 100644
--- a/docs/system/device-emulation.rst
+++ b/docs/system/device-emulation.rst
@@ -94,6 +94,7 @@ Emulated Devices
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
diff --git a/docs/system/devices/vhost-user-input.rst
b/docs/system/devices/vhost-user-input.rst
new file mode 100644
index 00000000000..118eb78101c
--- /dev/null
+++ b/docs/system/devices/vhost-user-input.rst
@@ -0,0 +1,45 @@
+.. _vhost_user_input:
+
+QEMU vhost-user-input - Input emulation
+=======================================
+
+This document describes the setup and usage of the Virtio input device.
+The Virtio input device is a paravirtualized device for input events.
+
+Description
+-----------
+
+The vhost-user-input device implementation was designed to work with a daemon
+polling on input devices and passes input events to the guest.
+
+QEMU provides a backend implementation in contrib/vhost-user-input.
+
+Linux kernel support
+--------------------
+
+Virtio input requires a guest Linux kernel built with the
+``CONFIG_VIRTIO_INPUT`` option.
+
+Examples
+--------
+
+The backend daemon should be started first:
+
+::
+
+ host# vhost-user-input --socket-path=input.sock \
+ --evdev-path=/dev/input/event17
+
+The QEMU invocation needs to create a chardev socket to communicate with the
+backend daemon and access the VirtIO queues with the guest over the
+:ref:`shared memory <shared_memory_object>`.
+
+::
+
+ host# qemu-system
\
+ -chardev socket,path=/tmp/input.sock,id=mouse0
\
+ -device vhost-user-input-pci,chardev=mouse0
\
+ -m 4096
\
+ -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on
\
+ -numa node,memdev=mem
\
+ ...
diff --git a/docs/system/devices/vhost-user.rst
b/docs/system/devices/vhost-user.rst
index c6afc4836f9..9b2da106cec 100644
--- a/docs/system/devices/vhost-user.rst
+++ b/docs/system/devices/vhost-user.rst
@@ -42,7 +42,7 @@ platform details for what sort of virtio bus to use.
- See https://github.com/rust-vmm/vhost-device
* - vhost-user-input
- Generic input driver
- - See contrib/vhost-user-input
+ - :ref:`vhost_user_input`
* - vhost-user-rng
- Entropy driver
- :ref:`vhost_user_rng`
@@ -91,6 +91,8 @@ following the :ref:`vhost_user_proto`. There are a number of
daemons
that can be built when enabled by the project although any daemon that
meets the specification for a given device can be used.
+.. _shared_memory_object:
+
Shared memory object
====================
--
2.39.2
- Re: [PATCH v9 01/11] virtio: split into vhost-user-base and vhost-user-device, (continued)
- [PATCH v9 02/11] hw/virtio: convert vhost-user-base to async shutdown, Alex Bennée, 2024/01/04
- [PATCH v9 06/11] hw/virtio: add vhost-user-snd and virtio-snd-pci devices, Alex Bennée, 2024/01/04
- [PATCH v9 03/11] hw/virtio: derive vhost-user-rng from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 07/11] docs/system: add a basic enumeration of vhost-user devices, Alex Bennée, 2024/01/04
- [PATCH v9 08/11] hw/virtio: Support set_config() callback in vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 05/11] hw/virtio: derive vhost-user-i2c from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 04/11] hw/virtio: derive vhost-user-gpio from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 10/11] hw/virtio: Move vhost-user-input into virtio folder, Alex Bennée, 2024/01/04
- [PATCH v9 11/11] hw/virtio: derive vhost-user-input from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 09/11] docs/system: Add vhost-user-input documentation,
Alex Bennée <=
- Re: [PATCH v9 00/11] virtio: cleanup vhost-user-generic and reduce c&p + vhost-user-input, Alex Bennée, 2024/01/10