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