mirror of https://gitee.com/openkylin/qemu.git
virtio: export vring_notify as virtio_should_notify
Virtio dataplane needs to trigger the irq manually through the guest notifier. Export virtio_should_notify so that it can be used around event_notifier_set. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Fam Zheng <famz@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
a1afb6062e
commit
adb3feda8d
|
@ -1162,7 +1162,7 @@ void virtio_irq(VirtQueue *vq)
|
||||||
virtio_notify_vector(vq->vdev, vq->vector);
|
virtio_notify_vector(vq->vdev, vq->vector);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool vring_notify(VirtIODevice *vdev, VirtQueue *vq)
|
bool virtio_should_notify(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
{
|
{
|
||||||
uint16_t old, new;
|
uint16_t old, new;
|
||||||
bool v;
|
bool v;
|
||||||
|
@ -1187,7 +1187,7 @@ static bool vring_notify(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
|
|
||||||
void virtio_notify(VirtIODevice *vdev, VirtQueue *vq)
|
void virtio_notify(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
{
|
{
|
||||||
if (!vring_notify(vdev, vq)) {
|
if (!virtio_should_notify(vdev, vq)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -163,6 +163,7 @@ void virtqueue_get_avail_bytes(VirtQueue *vq, unsigned int *in_bytes,
|
||||||
unsigned int *out_bytes,
|
unsigned int *out_bytes,
|
||||||
unsigned max_in_bytes, unsigned max_out_bytes);
|
unsigned max_in_bytes, unsigned max_out_bytes);
|
||||||
|
|
||||||
|
bool virtio_should_notify(VirtIODevice *vdev, VirtQueue *vq);
|
||||||
void virtio_notify(VirtIODevice *vdev, VirtQueue *vq);
|
void virtio_notify(VirtIODevice *vdev, VirtQueue *vq);
|
||||||
|
|
||||||
void virtio_save(VirtIODevice *vdev, QEMUFile *f);
|
void virtio_save(VirtIODevice *vdev, QEMUFile *f);
|
||||||
|
|
Loading…
Reference in New Issue