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

Re: [Xen-devel] [PATCH v2 1/5] VMX: fix interaction of APIC-V and Viridian emulation

>>> On 24.06.13 at 12:10, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote:
> On 24/06/13 08:03, Jan Beulich wrote:
>> Viridian using a synthetic MSR for issuing EOI notifications bypasses
>> the normal in-processor handling, which would clear
>> GUEST_INTR_STATUS.SVI. Hence we need to do this in software in order
>> for future interrupts to get delivered.
>> Based on analysis by Yang Z Zhang <yang.z.zhang@xxxxxxxxx>.
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> Hmm... so there are three paths which may end up calling this vmx EOI 
> code -- from viridian.c:wrmsr_vidiridan_regs(), from 
> vlapic.c:vlapic_reg_write(), and vmx_handle_eoi_write().

This is the very reason why I favored patch 2 over this one for
4.3 ...

> Obviously the viridian code is what we want.  But which of the other two 
> paths will also end up taking it, and is it correct?  In other words, 
> for which of those will cpu_has_vmx_virtual_intr_delivery be set?

The two other paths would in the worst case end up re-doing what
the hardware already did.

However, both of them can't occur with APIC register virtualization
enabled, and during early investigation of this issue I was told that
even if they're formally independent features, virtual interrupt
delivery always implies APIC register virtualization.


Xen-devel mailing list



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