The concept of an irqfd and interrupt routing are nothing particularly tied into the IOAPIC implementation. In fact, most of the code already is perfectly generic. This patch set decouples most bits of the existing irqchip and irqfd implementation to make it reusable for non-IOAPIC platforms, like the PPC MPIC. I also have a patch that implements working irqfd support on top of these, but that requires the in-kernel MPIC implementation to go upstream first, so I'm holding off on it until we settled everything there, so the concept certainly does work. Alex Alexander Graf (7): KVM: Add KVM_IRQCHIP_NUM_PINS in addition to KVM_IOAPIC_NUM_PINS KVM: Introduce __KVM_HAVE_IRQCHIP KVM: Remove kvm_get_intr_delivery_bitmask KVM: Move irq routing to generic code KVM: Extract generic irqchip logic into irqchip.c KVM: Move irq routing setup to irqchip.c KVM: Move irqfd resample cap handling to generic code arch/x86/include/asm/kvm_host.h | 2 + arch/x86/include/uapi/asm/kvm.h | 1 + arch/x86/kvm/Makefile | 2 +- arch/x86/kvm/x86.c | 1 - include/linux/kvm_host.h | 14 +-- include/trace/events/kvm.h | 12 ++- include/uapi/linux/kvm.h | 2 +- virt/kvm/assigned-dev.c | 30 ----- virt/kvm/eventfd.c | 6 +- virt/kvm/irq_comm.c | 193 +------------------------------- virt/kvm/irqchip.c | 237 +++++++++++++++++++++++++++++++++++++++ virt/kvm/kvm_main.c | 33 ++++++ 12 files changed, 297 insertions(+), 236 deletions(-) create mode 100644 virt/kvm/irqchip.c -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html