Bitten by the list rename, here's a forwarded copy :-( -- PMM ---------- Forwarded message ---------- From: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: 6 August 2012 18:20 Subject: Re: [Android-virt] [PATCH v9 11/16] ARM: KVM: Inject IRQs and FIQs from userspace To: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> Cc: android-virt@xxxxxxxxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, tech@xxxxxxxxxxxxxxxxxxxxxx, Marc Zyngier <marc.zyngier@xxxxxxx> On 3 July 2012 10:01, Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> wrote: > From: Christoffer Dall <cdall@xxxxxxxxxxxxxxx> > > Userspace can inject IRQs and FIQs through the KVM_IRQ_LINE VM ioctl. > This ioctl is used since the sematics are in fact two lines that can be > either raised or lowered on the VCPU - the IRQ and FIQ lines. > > KVM needs to know which VCPU it must operate on and whether the FIQ or > IRQ line is raised/lowered. Hence both pieces of information is packed > in the kvm_irq_level->irq field. The irq fild value will be: > IRQ: vcpu_index << 1 > FIQ: (vcpu_index << 1) | 1 > > This is documented in Documentation/kvm/api.txt. It occurred to me that rather than encoding the CPU index in the IRQ field value, maybe we should just use the per-vcpu version of KVM_IRQ_LINE the same way we do for injecting the per-CPU lines of the in-kernel (V)GIC ? (The subtext here is that it would be cool to have QEMU's generic interrupt handling code for KVM be able to say "if you do a cpu_interrupt()/cpu_reset_interrupt() and async interrupt delivery is enabled then just do the per-vcpu ioctl". Then there wouldn't need to be any kvm-specific code in hw/arm_pic.c at all...) -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm