This thread fixes two issues: - Slave IRQCHIP was mapped wrong, this caused all IRQs which belong to it to be ignored (breaking such things as the mouse). - Line 2 was being mapped, since it's the link between slave and master IRQCHIPs it shouldn't be. Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> --- tools/kvm/irq.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/kvm/irq.c b/tools/kvm/irq.c index 85e2238..e35bf18 100644 --- a/tools/kvm/irq.c +++ b/tools/kvm/irq.c @@ -147,17 +147,18 @@ void irq__init(struct kvm *kvm) /* Hook first 8 GSIs to master IRQCHIP */ for (i = 0; i < 8; i++) - irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_MASTER, i); + if (i != 2) + irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_MASTER, i); /* Hook next 8 GSIs to slave IRQCHIP */ for (i = 8; i < 16; i++) - irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_SLAVE, 8-i); + irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_SLAVE, i - 8); /* Last but not least, IOAPIC */ for (i = 0; i < 24; i++) { if (i == 0) irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_IOAPIC, 2); - else + else if (i != 2) irq__add_routing(i, KVM_IRQ_ROUTING_IRQCHIP, IRQCHIP_IOAPIC, i); } -- 1.7.6 -- 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