From f1b24e840f9f85a2bb3912e4507d887e7858219d Mon Sep 17 00:00:00 2001 From: KONRAD Frederic Date: Mon, 18 Mar 2013 17:37:18 +0100 Subject: virtio: make virtio device's structures public. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These structures must be made public to avoid two memory allocations for refactored virtio devices. Signed-off-by: KONRAD Frederic Reviewed-by: Andreas Färber Reviewed-by: Peter Maydell Reviewed-by: Andreas Färber Message-id: 1363624648-16906-2-git-send-email-fred.konrad@greensocs.com Changes V4 <- V3: * Rebased on current git. Changes V3 <- V2: * Style correction spotted by Andreas (virtio-scsi.h). * Style correction for virtio-net.h. Changes V2 <- V1: * Move the dataplane include into the header (virtio-blk). Signed-off-by: Anthony Liguori --- hw/virtio-rng.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'hw/virtio-rng.h') diff --git a/hw/virtio-rng.h b/hw/virtio-rng.h index f42d748eba..3711c97a70 100644 --- a/hw/virtio-rng.h +++ b/hw/virtio-rng.h @@ -25,4 +25,23 @@ struct VirtIORNGConf { RndRandom *default_backend; }; +typedef struct VirtIORNG { + VirtIODevice vdev; + + DeviceState *qdev; + + /* Only one vq - guest puts buffer(s) on it when it needs entropy */ + VirtQueue *vq; + + VirtIORNGConf *conf; + + RngBackend *rng; + + /* We purposefully don't migrate this state. The quota will reset on the + * destination as a result. Rate limiting is host state, not guest state. + */ + QEMUTimer *rate_limit_timer; + int64_t quota_remaining; +} VirtIORNG; + #endif -- cgit 1.4.1