summaryrefslogtreecommitdiff
path: root/hw/virtio-pci.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2012-10-30 17:45:05 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2012-11-16 08:36:13 -0600
commit904d6f588063fb5ad2b61998acdf1e73fb465067 (patch)
tree12d966d8fff1c6d36965a615c0afd75af22111ab /hw/virtio-pci.c
parent16c915ba42b45df7a64a6908287f03bfa3764bed (diff)
downloadqemu-904d6f588063fb5ad2b61998acdf1e73fb465067.tar.gz
virtio-rng: add rate limiting support
This adds parameters to virtio-rng-pci to allow rate limiting the entropy a guest receives. An example command line: $ qemu -device virtio-rng-pci,max-bytes=1024,period=1000 Would limit entropy collection to 1Kb/s. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/virtio-pci.c')
-rw-r--r--hw/virtio-pci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index a3d4777e8d..f90296d672 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -1015,6 +1015,13 @@ static void virtio_rng_initfn(Object *obj)
static Property virtio_rng_properties[] = {
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
+ /* Set a default rate limit of 2^47 bytes per minute or roughly 2TB/s. If
+ you have an entropy source capable of generating more entropy than this
+ and you can pass it through via virtio-rng, then hats off to you. Until
+ then, this is unlimited for all practical purposes.
+ */
+ DEFINE_PROP_UINT64("max-bytes", VirtIOPCIProxy, rng.max_bytes, INT64_MAX),
+ DEFINE_PROP_UINT32("period", VirtIOPCIProxy, rng.period_ms, 1 << 16),
DEFINE_PROP_END_OF_LIST(),
};