[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86: don't deliver NMI to PVH Dom0

>>> On 11.12.14 at 14:16, <tim@xxxxxxx> wrote:
> At 13:09 +0000 on 11 Dec (1418299748), Jan Beulich wrote:
>> >>> On 11.12.14 at 14:00, <tim@xxxxxxx> wrote:
>> > At 10:47 +0000 on 11 Dec (1418291241), Jan Beulich wrote:
>> >> ... for the time being: The mechanism used depends on the domain's use
>> >> of the IRET hypercall.
>> > 
>> > Can you elaborate?  Looking at the existing code it seems like what it
>> > does is set v->nmi_pending and make sure the vcpu gets scheduled
>> > appropriately.
>> > 
>> > The HVM code will deliver an NMI if it sees v->nmi_pending (which is
>> > what vlapic_accept_irq does, for example).  Is there some other piece
>> > I'm missing?
>> Just so that others see the answer too: The problem is that the
>> temporary affinity adjustment gets undone in the HYPERVISOR_iret
>> handler, yet PVH can't call that hypercall.
> Thanks.  So to make this work for PVH we'd want to do something like
> calling async_exception_cleanup() from vlapic_EOI_set()?

No, that's the wrong place - there's no EOI involved in ACK-ing an NMI.
Instead there ought to be (optional?) VM exits upon clearing of the
NMI masked state, and their handling code should presumably call that


Xen-devel mailing list



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