[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH] xen/arm: Deliver interrupts to vcpu specified in IROUTER
On Mon, Sep 8, 2014 at 7:17 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > On Mon, 2014-09-08 at 19:11 +0530, Vijay Kilari wrote: > > Why have we dropped the list? I have not dropped the list. I still see list in my email. > >> Hi Stefano, >> >> Apart from your comments below, I encounter below scenario. >> >> The below function vgic_irq_rank() in vgic.c is not generic. The rank is >> always >> depends on register type it is going to access. So it cannot be >> just hardcoded. >> >> struct vgic_irq_rank *(struct vcpu *v, unsigned int irq) >> { >> return vgic_rank_offset(v, 8, irq, DABT_WORD); >> } >> >> This function works ok for GIC v2. But this cannot be used for >> GICv3 to access registers like IROUTER which are u64. The rank >> calcuation goes wrong and there by takes wrong rank lock. > > This sounds to me like a bug which should be fixed. A rank is just a > group of 32 consecutive IRQs and their associated register values, it > shouldn't matter whether those registers are 8-, 16-, 32- or 64-bits. Now I think of creating a callback to return the right rank for given irq based on v2 or v3. This will fix and keep the old code intact. > > Now, if we have registers which aren't associated with a bank of > registers, or which cross between banks then we have a problem, but I > don't think that is the case with IROUTER, is it? > > (I'll let Stefano comment on the rest, since he understands the > target/inject stuff better than I) > > Ian. > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |