[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.6 3/4] xen/arm: vgic: notice if the vIRQ is not allocated when the guest enable it
On 14/01/15 12:28, Ian Campbell wrote: > On Tue, 2015-01-13 at 20:33 +0000, Julien Grall wrote: >> Hi Ian, >> >> On 13/01/15 15:55, Ian Campbell wrote: >>> On Fri, 2014-12-12 at 14:43 +0000, Julien Grall wrote: >>>> This help for guest interrupts debugging. If the vIRQ is not allocate, >>>> this means that nothing is wired to it. >>> >>> Should we short circuit the rest of the enable operation for this IRQ >>> then? i.e. implement such writes as ignored, e.g. not reflect it in >>> reads of ISENABLER etc. >>> >>> What (if anything) does the GIC spec have to say on the subject? >> >> "A register bit corresponding to an unimplemented interrupt is RAZ/WI." >> >> The goal of this print was mostly for debugging physical IRQ routed to a >> guest. >> >> I could extend to ignore write to any register that should be RAZ/WI for >> this specific interrupt. > > Since those are the defined semantics I think that is the best thing to > do. Ok. I will look at it to see how we can implement it. >> But, I will have to think about possible race condition with the >> hypercall to route a physical IRQ to the guest (see [1] and [2]). >> >> The vIRQ is reserved before the physical IRQ is effectively routed. So >> a guest may enable the vIRQ before this time lapse. Though, the patch >> [2] protected for a such case. >> >> Not sure if we should take care of a such case. > > I don't think so, that routing hypercall ought to be happening strictly > before any hotplug event visible to the guest causes it to think there > is a device (vacuously true for coldplug too), so the guest should have > no expectation of being able to do anything with the irq in question. Good, one less headache :) Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |