Commit b131c74a authored by Jan Kiszka's avatar Jan Kiszka Committed by Avi Kivity
Browse files

kvm: Clean up irqfd API



No need to expose the fd-based interface, everyone will already be fine
with the more handy EventNotifier variant. Rename the latter to clarify
that we are still talking about irqfds here.

Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 62fe8331
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -517,7 +517,7 @@ static int kvm_virtio_pci_vq_vector_use(VirtIOPCIProxy *proxy,
    }
    irqfd->users++;

    ret = kvm_irqchip_add_irq_notifier(kvm_state, n, irqfd->virq);
    ret = kvm_irqchip_add_irqfd_notifier(kvm_state, n, irqfd->virq);
    if (ret < 0) {
        if (--irqfd->users == 0) {
            kvm_irqchip_release_virq(kvm_state, irqfd->virq);
@@ -538,7 +538,7 @@ static void kvm_virtio_pci_vq_vector_release(VirtIOPCIProxy *proxy,
    VirtIOIRQFD *irqfd = &proxy->vector_irqfd[vector];
    int ret;

    ret = kvm_irqchip_remove_irq_notifier(kvm_state, n, irqfd->virq);
    ret = kvm_irqchip_remove_irqfd_notifier(kvm_state, n, irqfd->virq);
    assert(ret == 0);

    if (--irqfd->users == 0) {
+4 −14
Original line number Diff line number Diff line
@@ -1166,24 +1166,14 @@ static int kvm_irqchip_assign_irqfd(KVMState *s, int fd, int virq, bool assign)
}
#endif /* !KVM_CAP_IRQ_ROUTING */

int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)
int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return kvm_irqchip_assign_irqfd(s, fd, virq, true);
    return kvm_irqchip_assign_irqfd(s, event_notifier_get_fd(n), virq, true);
}

int kvm_irqchip_add_irq_notifier(KVMState *s, EventNotifier *n, int virq)
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return kvm_irqchip_add_irqfd(s, event_notifier_get_fd(n), virq);
}

int kvm_irqchip_remove_irqfd(KVMState *s, int fd, int virq)
{
    return kvm_irqchip_assign_irqfd(s, fd, virq, false);
}

int kvm_irqchip_remove_irq_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return kvm_irqchip_remove_irqfd(s, event_notifier_get_fd(n), virq);
    return kvm_irqchip_assign_irqfd(s, event_notifier_get_fd(n), virq, false);
}

static int kvm_irqchip_create(KVMState *s)
+2 −12
Original line number Diff line number Diff line
@@ -141,22 +141,12 @@ void kvm_irqchip_release_virq(KVMState *s, int virq)
{
}

int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)
int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return -ENOSYS;
}

int kvm_irqchip_add_irq_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return -ENOSYS;
}

int kvm_irqchip_remove_irqfd(KVMState *s, int fd, int virq)
{
    return -ENOSYS;
}

int kvm_irqchip_remove_irq_notifier(KVMState *s, EventNotifier *n, int virq)
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
{
    return -ENOSYS;
}
+2 −4
Original line number Diff line number Diff line
@@ -272,8 +272,6 @@ int kvm_set_ioeventfd_pio_word(int fd, uint16_t adr, uint16_t val, bool assign);
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg);
void kvm_irqchip_release_virq(KVMState *s, int virq);

int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq);
int kvm_irqchip_remove_irqfd(KVMState *s, int fd, int virq);
int kvm_irqchip_add_irq_notifier(KVMState *s, EventNotifier *n, int virq);
int kvm_irqchip_remove_irq_notifier(KVMState *s, EventNotifier *n, int virq);
int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n, int virq);
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq);
#endif