[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


 


Rackspace

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