aboutsummaryrefslogtreecommitdiff
path: root/docs/system/devices/vhost-user-rng.rst
blob: a145d4105c1adf55ed8a6b053f240d2767e518e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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							\
      ...