|
@@ -673,30 +673,7 @@ static int virtio_mmio_set_guest_notifier(DeviceState *d, int n, bool assign,
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-static int virtio_mmio_set_config_guest_notifier(DeviceState *d, bool assign)
|
|
|
-{
|
|
|
- VirtIOMMIOProxy *proxy = VIRTIO_MMIO(d);
|
|
|
- VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus);
|
|
|
- VirtioDeviceClass *vdc = VIRTIO_DEVICE_GET_CLASS(vdev);
|
|
|
- bool with_irqfd = false;
|
|
|
- EventNotifier *notifier = virtio_config_get_guest_notifier(vdev);
|
|
|
- int r = 0;
|
|
|
|
|
|
- if (assign) {
|
|
|
- r = event_notifier_init(notifier, 0);
|
|
|
- if (r < 0) {
|
|
|
- return r;
|
|
|
- }
|
|
|
- virtio_config_set_guest_notifier_fd_handler(vdev, assign, with_irqfd);
|
|
|
- } else {
|
|
|
- virtio_config_set_guest_notifier_fd_handler(vdev, assign, with_irqfd);
|
|
|
- event_notifier_cleanup(notifier);
|
|
|
- }
|
|
|
- if (vdc->guest_notifier_mask && vdev->use_guest_notifier_mask) {
|
|
|
- vdc->guest_notifier_mask(vdev, VIRTIO_CONFIG_IRQ_IDX, !assign);
|
|
|
- }
|
|
|
- return r;
|
|
|
-}
|
|
|
static int virtio_mmio_set_guest_notifiers(DeviceState *d, int nvqs,
|
|
|
bool assign)
|
|
|
{
|
|
@@ -718,10 +695,6 @@ static int virtio_mmio_set_guest_notifiers(DeviceState *d, int nvqs,
|
|
|
goto assign_error;
|
|
|
}
|
|
|
}
|
|
|
- r = virtio_mmio_set_config_guest_notifier(d, assign);
|
|
|
- if (r < 0) {
|
|
|
- goto assign_error;
|
|
|
- }
|
|
|
|
|
|
return 0;
|
|
|
|