On (Sun) 01 Jul 2012 [23:06:36], Paul Brook wrote: > > This series depends on my QOM -object series that I just posted. > > > > 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. > > > > I've now implemented a urandom and egd backend and tested them. I think > > the first three patches are ready to go. > > I never really understood why this exists in the first place. It's a simple > readonly charcter device. IMHO you should be using virtio-serial. This is > virtio-console v.s. virtio-serial all over again. > The only thing close to a reason I've heard is that guest OS is incompetent > and can't source random rata from a serial device.
Linux has a virtio-rng driver for quite a while; some other hypervisor implementation may have the corresponding device, I'm not aware of it. This series just adds a corresponding device to qemu. You're right that it's just a chardev interface, and virtio-serial would've been ideal for this, but given Linux has a driver already, it's best to add the device to qemu. > Even accepting the pointless guest device, I see absolutely no reason to have > special infrastructure for this within qemu. Character devices do everything > you need. Creating annother "read stream of data" API is needless > duplication > and only going to reintroduce bugs we already fixed in the character device > layer. Well I do agree with this qemu doesn't really need to bother about the various ways of getting random numbers, just accept them over a chardev and fwd them to the guest. Amit