virtio-pci: correctly set host notifiers for modern bar
authorJason Wang <jasowang@redhat.com>
Thu, 4 Jun 2015 10:34:30 +0000 (12:34 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 10 Jun 2015 16:15:05 +0000 (18:15 +0200)
commit975acc0ae6d60260859884a9235ae3c62e2969a2
tree14d90d3235c1492b3111c1d35eea24832551ee98
parent4e93a68eb369b2f7adbef7a4f6afd7a30a0ed927
virtio-pci: correctly set host notifiers for modern bar

Currently, during host notifier set. We only add eventfd for legacy
bar, this is not correct since:

- Non-transitional device does not have legacy bar, so qemu will crash
  since proxy->bar was not initialized.
- Modern device uses modern bar and notify cap to notify the device,
  we should add eventfd for proxy->notify.

So this patch fixes the above two issues by adding eventfd based on
whether legacy or modern device were supported.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio-pci.c