[PATCH 0/7] KVM: irqfd generalization prepare patch set

Alexander Graf
2013-04-16T17:26:08Z

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