From: KONRAD Frederic Date: Thu, 11 Apr 2013 14:29:56 +0000 (+0200) Subject: virtio: add two functions to VirtioDeviceClass. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6a87acf7df4b31ca0896b95b86dac9698420a9ed;p=qmiga%2Fqemu.git virtio: add two functions to VirtioDeviceClass. Recent changes need two functions to VirtioDevice. This just add them into VirtioDeviceClass. Signed-off-by: KONRAD Frederic Tested-by: Cornelia Huck Message-id: 1365690602-22729-2-git-send-email-fred.konrad@greensocs.com Signed-off-by: Anthony Liguori --- diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index 7e24b2b69a..b21e5c2b9d 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -171,6 +171,18 @@ typedef struct VirtioDeviceClass { void (*set_config)(VirtIODevice *vdev, const uint8_t *config); void (*reset)(VirtIODevice *vdev); void (*set_status)(VirtIODevice *vdev, uint8_t val); + /* Test and clear event pending status. + * Should be called after unmask to avoid losing events. + * If backend does not support masking, + * must check in frontend instead. + */ + bool (*guest_notifier_pending)(VirtIODevice *vdev, int n); + /* Mask/unmask events from this vq. Any events reported + * while masked will become pending. + * If backend does not support masking, + * must mask in frontend instead. + */ + void (*guest_notifier_mask)(VirtIODevice *vdev, int n, bool mask); } VirtioDeviceClass; void virtio_init(VirtIODevice *vdev, const char *name,