virtio-bus: common ioeventfd infrastructure
commit6798e245a3c7e6f34f66a548a108cfa8eba79b7d
authorCornelia Huck <cornelia.huck@de.ibm.com>
Fri, 10 Jun 2016 09:04:09 +0000 (10 11:04 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 24 Jun 2016 05:47:35 +0000 (24 08:47 +0300)
tree0ac9e4552c3e1eaf438ac6add0b9521f74f2d323
parent1f3aba377d2a531453f018c70de2580a142c74c9
virtio-bus: common ioeventfd infrastructure

Introduce a set of ioeventfd callbacks on the virtio-bus level
that can be implemented by the individual transports. At the
virtio-bus level, do common handling for host notifiers (which
is actually most of it).

Two things of note:
- When setting the host notifier, we only switch from/to the
  generic ioeventfd handler. This fixes a latent bug where we
  had no ioeventfd assigned for a certain window.
- We always iterate over all possible virtio queues, even though
  ccw (currently) has a lower limit. It does not really matter
  here.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio-bus.c
include/hw/virtio/virtio-bus.h