In Amit's thread on virtio-rng, danpb mentioned that we really ought to have a
proper RNG backend infrastructure and of course he's correct on that.

Now that we have QOM, I wanted to demonstrate how we can use QOM to construct a
complete backend without adding any new infrastructure.

For this RFC, I've just implemented a /dev/urandom backend but hopefully it's
obvious how to implement an EGD backend.  In this case, the EGD backend Object
would have a CharDriverState property which is how it would get exposed over the
wire.

My intent is not to take over this series, but to demonstrate how to structure
things in a nicer fashion.

I've not included an -rng option.  Markus mentioned introducing a -qom-create
option and this might be a good reason to further consider exposing that option.

I've included some of the folks working on BlockDev on CC too because I wanted
to show how I'd expect BlockDev to look infrastructure wise once it was fully
using QOM.


Reply via email to