[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 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.

> 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.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.