40 lines
1 KiB
ReStructuredText
40 lines
1 KiB
ReStructuredText
|
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 \
|
||
|
...
|