summaryrefslogtreecommitdiffstats
path: root/docs/system
diff options
context:
space:
mode:
authorMathieu Poirier2021-10-12 22:59:04 +0200
committerMichael S. Tsirkin2021-10-20 10:37:55 +0200
commitc47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f (patch)
tree03cdb87ff8f7aacd6ba1b69d326384a80225a784 /docs/system
parentvhost-user-rng-pci: Add vhost-user-rng-pci implementation (diff)
downloadqemu-c47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f.tar.gz
qemu-c47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f.tar.xz
qemu-c47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f.zip
docs: Add documentation for vhost based RNG implementation
Add description and example for the vhost-user based RNG implementation. Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Message-Id: <20211012205904.4106769-4-mathieu.poirier@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'docs/system')
-rw-r--r--docs/system/device-emulation.rst1
-rw-r--r--docs/system/devices/vhost-user-rng.rst39
2 files changed, 40 insertions, 0 deletions
diff --git a/docs/system/device-emulation.rst b/docs/system/device-emulation.rst
index 7afcfd8064..19944f526c 100644
--- a/docs/system/device-emulation.rst
+++ b/docs/system/device-emulation.rst
@@ -88,3 +88,4 @@ Emulated Devices
devices/usb.rst
devices/vhost-user.rst
devices/virtio-pmem.rst
+ devices/vhost-user-rng.rst
diff --git a/docs/system/devices/vhost-user-rng.rst b/docs/system/devices/vhost-user-rng.rst
new file mode 100644
index 0000000000..a145d4105c
--- /dev/null
+++ b/docs/system/devices/vhost-user-rng.rst
@@ -0,0 +1,39 @@
+QEMU vhost-user-rng - RNG emulation
+===================================
+
+Background
+----------
+
+What follows builds on the material presented in vhost-user.rst - it should
+be reviewed before moving forward with the content in this file.
+
+Description
+-----------
+
+The vhost-user-rng device implementation was designed to work with a random
+number generator daemon such as the one found in the vhost-device crate of
+the rust-vmm project available on github [1].
+
+[1]. https://github.com/rust-vmm/vhost-device
+
+Examples
+--------
+
+The daemon should be started first:
+
+::
+
+ host# vhost-device-rng --socket-path=rng.sock -c 1 -m 512 -p 1000
+
+The QEMU invocation needs to create a chardev socket the device can
+use to communicate as well as share the guests memory over a memfd.
+
+::
+
+ host# qemu-system \
+ -chardev socket,path=$(PATH)/rng.sock,id=rng0 \
+ -device vhost-user-rng-pci,chardev=rng0 \
+ -m 4096 \
+ -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on \
+ -numa node,memdev=mem \
+ ...