This patch series removes all uses of kvm_irqchip_in_kernel() from architecture-independent code, by creating a set of more specific functions instead to test for the particular aspects of behaviour that the calling code is actually interested in.
The uses in x86-specific code could in theory be further broken down into kvm_ioapic(), kvm_pit(), etc, but I leave that for one of the x86 maintainers if they think it's worthwhile. Peter Maydell (6): kvm: Decouple 'interrupt injection is async' from 'kernel irqchip' kvm: Rename kvm_irqchip_set_irq to kvm_inject_async_irq kvm: Move kvm_allows_irq0_override() to target-i386 kvm: Don't assume irqchip-in-kernel implies irqfds kvm: Don't assume irqchip implies MSI routing via irqfds kvm: Add documentation comment for kvm_irqchip_in_kernel() cpus.c | 3 +- hw/kvm/i8259.c | 2 +- hw/kvm/ioapic.c | 2 +- hw/pc.c | 1 + hw/virtio-pci.c | 4 +- kvm-all.c | 24 ++++++++++++---------- kvm-stub.c | 8 ++---- kvm.h | 48 ++++++++++++++++++++++++++++++++++++++++++-- target-i386/Makefile.objs | 1 + target-i386/kvm-stub.c | 17 +++++++++++++++ target-i386/kvm.c | 12 +++++++++++ target-i386/kvm_i386.h | 16 +++++++++++++++ 12 files changed, 114 insertions(+), 24 deletions(-) create mode 100644 target-i386/kvm-stub.c create mode 100644 target-i386/kvm_i386.h -- 1.7.5.4