Commit 753d5e14 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Avi Kivity
Browse files

memory: pass EventNotifier, not eventfd



Under Win32, EventNotifiers will not have event_notifier_get_fd, so we
cannot call it in common code such as hw/virtio-pci.c.  Pass a pointer to
the notifier, and only retrieve the file descriptor in kvm-specific code.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent b6a1f3a5
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -3212,13 +3212,13 @@ static void core_log_global_stop(MemoryListener *listener)

static void core_eventfd_add(MemoryListener *listener,
                             MemoryRegionSection *section,
                             bool match_data, uint64_t data, int fd)
                             bool match_data, uint64_t data, EventNotifier *e)
{
}

static void core_eventfd_del(MemoryListener *listener,
                             MemoryRegionSection *section,
                             bool match_data, uint64_t data, int fd)
                             bool match_data, uint64_t data, EventNotifier *e)
{
}

@@ -3278,13 +3278,13 @@ static void io_log_global_stop(MemoryListener *listener)

static void io_eventfd_add(MemoryListener *listener,
                           MemoryRegionSection *section,
                           bool match_data, uint64_t data, int fd)
                           bool match_data, uint64_t data, EventNotifier *e)
{
}

static void io_eventfd_del(MemoryListener *listener,
                           MemoryRegionSection *section,
                           bool match_data, uint64_t data, int fd)
                           bool match_data, uint64_t data, EventNotifier *e)
{
}

+2 −2
Original line number Diff line number Diff line
@@ -350,7 +350,7 @@ static void ivshmem_add_eventfd(IVShmemState *s, int posn, int i)
                              4,
                              true,
                              (posn << 16) | i,
                              event_notifier_get_fd(&s->peers[posn].eventfds[i]));
                              &s->peers[posn].eventfds[i]);
}

static void ivshmem_del_eventfd(IVShmemState *s, int posn, int i)
@@ -360,7 +360,7 @@ static void ivshmem_del_eventfd(IVShmemState *s, int posn, int i)
                              4,
                              true,
                              (posn << 16) | i,
                              event_notifier_get_fd(&s->peers[posn].eventfds[i]));
                              &s->peers[posn].eventfds[i]);
}

static void close_guest_eventfds(IVShmemState *s, int posn)
+2 −2
Original line number Diff line number Diff line
@@ -737,13 +737,13 @@ static void vhost_virtqueue_cleanup(struct vhost_dev *dev,

static void vhost_eventfd_add(MemoryListener *listener,
                              MemoryRegionSection *section,
                              bool match_data, uint64_t data, int fd)
                              bool match_data, uint64_t data, EventNotifier *e)
{
}

static void vhost_eventfd_del(MemoryListener *listener,
                              MemoryRegionSection *section,
                              bool match_data, uint64_t data, int fd)
                              bool match_data, uint64_t data, EventNotifier *e)
{
}

+2 −2
Original line number Diff line number Diff line
@@ -174,10 +174,10 @@ static int virtio_pci_set_host_notifier_internal(VirtIOPCIProxy *proxy,
            return r;
        }
        memory_region_add_eventfd(&proxy->bar, VIRTIO_PCI_QUEUE_NOTIFY, 2,
                                  true, n, event_notifier_get_fd(notifier));
                                  true, n, notifier);
    } else {
        memory_region_del_eventfd(&proxy->bar, VIRTIO_PCI_QUEUE_NOTIFY, 2,
                                  true, n, event_notifier_get_fd(notifier));
                                  true, n, notifier);
        /* Handle the race condition where the guest kicked and we deassigned
         * before we got around to handling the kick.
         */
+1 −1
Original line number Diff line number Diff line
@@ -634,7 +634,7 @@ static void xen_pt_log_global_fns(MemoryListener *l)
}

static void xen_pt_eventfd_fns(MemoryListener *l, MemoryRegionSection *s,
                               bool match_data, uint64_t data, int fd)
                               bool match_data, uint64_t data, EventNotifier *n)
{
}

Loading