From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8Vai-0006uV-Kr for qemu-devel@nongnu.org; Fri, 26 Jun 2015 11:30:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z8Vac-0007vo-Uf for qemu-devel@nongnu.org; Fri, 26 Jun 2015 11:30:56 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:36652) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8Vac-0007vi-Ev for qemu-devel@nongnu.org; Fri, 26 Jun 2015 11:30:50 -0400 Received: by wicnd19 with SMTP id nd19so20669888wic.1 for ; Fri, 26 Jun 2015 08:30:50 -0700 (PDT) From: Eric Auger Date: Fri, 26 Jun 2015 16:30:31 +0100 Message-Id: <1435332634-10721-4-git-send-email-eric.auger@linaro.org> In-Reply-To: <1435332634-10721-1-git-send-email-eric.auger@linaro.org> References: <1435332634-10721-1-git-send-email-eric.auger@linaro.org> Subject: [Qemu-devel] [PATCH v17 3/6] intc: arm_gic_kvm: set the qemu_irq/gsi mapping List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: eric.auger@st.com, eric.auger@linaro.org, qemu-devel@nongnu.org, peter.maydell@linaro.org, alex.williamson@redhat.com, pbonzini@redhat.com Cc: peter.crosthwaite@xilinx.com, christoffer.dall@linaro.org, patches@linaro.org 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 Tested-by: Vikram Sethi Acked-by: Paolo Bonzini --- v16 -> v17: - add Paolo's A-b v15 -> v16: - added Vikram's T-b - Resolve rebase conflict v2 -> v3: - kvm_irqchip_add_qemuirq_irqfd_notifier renamed into kvm_irqchip_add_irqfd_notifier --- hw/intc/arm_gic_kvm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c index 2cb7d25..f56bff1 100644 --- a/hw/intc/arm_gic_kvm.c +++ b/hw/intc/arm_gic_kvm.c @@ -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. */ -- 1.8.3.2