]> git.proxmox.com Git - mirror_qemu.git/commitdiff
intc: arm_gic_kvm: set the qemu_irq/gsi mapping
authorEric Auger <eric.auger@linaro.org>
Mon, 6 Jul 2015 18:15:13 +0000 (12:15 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 6 Jul 2015 18:15:13 +0000 (12:15 -0600)
The arm_gic_kvm now calls kvm_irqchip_set_qemuirq_gsi to build
the hash table storing qemu_irq/gsi mappings. From that point on
irqfd can be setup directly from the qemu_irq using
kvm_irqchip_add_irqfd_notifier.

Signed-off-by: Eric Auger <eric.auger@linaro.org>
Tested-by: Vikram Sethi <vikrams@codeaurora.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
hw/intc/arm_gic_kvm.c

index 2cb7d255d22c381a15fa04f373a54b2d86bb1942..f56bff1afbad0ab8e2d2abb28f526fb479cb4d09 100644 (file)
@@ -570,6 +570,12 @@ static void kvm_arm_gic_realize(DeviceState *dev, Error **errp)
      */
     i += (GIC_INTERNAL * s->num_cpu);
     qdev_init_gpio_in(dev, kvm_arm_gic_set_irq, i);
+
+    for (i = 0; i < s->num_irq - GIC_INTERNAL; i++) {
+        qemu_irq irq = qdev_get_gpio_in(dev, i);
+        kvm_irqchip_set_qemuirq_gsi(kvm_state, irq, i);
+    }
+
     /* We never use our outbound IRQ/FIQ lines but provide them so that
      * we maintain the same interface as the non-KVM GIC.
      */