diff mbox series

[v4,3/3] docs: Add documentation for vhost based RNG implementation

Message ID 20210927221359.2917482-4-mathieu.poirier@linaro.org
State New
Headers show
Series virtio: Add vhost-user based RNG | expand

Commit Message

Mathieu Poirier Sept. 27, 2021, 10:13 p.m. UTC
Add description and example for the vhost-user based RNG implementation.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 docs/system/devices/vhost-user-rng.rst | 39 ++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 docs/system/devices/vhost-user-rng.rst

Comments

Michael S. Tsirkin Oct. 5, 2021, 3:24 p.m. UTC | #1
On Mon, Sep 27, 2021 at 04:13:59PM -0600, Mathieu Poirier wrote:
> Add description and example for the vhost-user based RNG implementation.
> 
> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

Causes a build failure:

Warning, treated as error:
/scm/qemu/docs/system/devices/vhost-user-rng.rst:document isn't included in any toctree



> ---
>  docs/system/devices/vhost-user-rng.rst | 39 ++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 docs/system/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 000000000000..a145d4105c1a
> --- /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							\
> +      ...
> -- 
> 2.25.1
Mathieu Poirier Oct. 12, 2021, 9:18 p.m. UTC | #2
On Tue, 5 Oct 2021 at 09:24, Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, Sep 27, 2021 at 04:13:59PM -0600, Mathieu Poirier wrote:
> > Add description and example for the vhost-user based RNG implementation.
> >
> > Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
>
> Causes a build failure:
>
> Warning, treated as error:
> /scm/qemu/docs/system/devices/vhost-user-rng.rst:document isn't included in any toctree
>

(Sigh...)

I simply don't see those errors on my side...  I wonder if it's a
tooling version problem.  Anyways I sent a new revision, hopefully it
will be enough to make the build happy.

Thanks for the patience,
Mathieu

>
>
> > ---
> >  docs/system/devices/vhost-user-rng.rst | 39 ++++++++++++++++++++++++++
> >  1 file changed, 39 insertions(+)
> >  create mode 100644 docs/system/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 000000000000..a145d4105c1a
> > --- /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                                                  \
> > +      ...
> > --
> > 2.25.1
>
diff mbox series

Patch

diff --git a/docs/system/devices/vhost-user-rng.rst b/docs/system/devices/vhost-user-rng.rst
new file mode 100644
index 000000000000..a145d4105c1a
--- /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							\
+      ...