mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
virtio: move common irqfd handling out of virtio-pci
All transports can use the same event handler for the irqfd, though the exact mechanics of the assignment will be specific. Note that there are three states: handled by the kernel, handled in userspace, disabled. This also lets virtio use event_notifier_set_handler. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
b1f416aa8d
commit
15b2bd1847
6 changed files with 58 additions and 27 deletions
10
kvm-all.c
10
kvm-all.c
|
@ -1163,11 +1163,21 @@ int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)
|
|||
return kvm_irqchip_assign_irqfd(s, fd, virq, true);
|
||||
}
|
||||
|
||||
int kvm_irqchip_add_irq_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);
|
||||
}
|
||||
|
||||
static int kvm_irqchip_create(KVMState *s)
|
||||
{
|
||||
QemuOptsList *list = qemu_find_opts("machine");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue