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

[Xen-changelog] [xen staging-4.12] x86/vlapic: allow setting APIC_SPIV_FOCUS_DISABLED in x2APIC mode



commit d1a06c9f64d0f6d9cbfb9f4c0889fa4aa116accc
Author:     Roger Pau Monné <roger.pau@xxxxxxxxxx>
AuthorDate: Mon Nov 25 16:04:34 2019 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Nov 25 16:04:34 2019 +0100

    x86/vlapic: allow setting APIC_SPIV_FOCUS_DISABLED in x2APIC mode
    
    Current code unconditionally prevents setting APIC_SPIV_FOCUS_DISABLED
    regardless of the processor model, which is not correct according to
    the specification.
    
    This issue was discovered while trying to boot a pvshim with x2APIC
    enabled.
    
    Always allow setting APIC_SPIV_FOCUS_DISABLED: the local APIC
    provided to guests is emulated by Xen, and as such doesn't depend on
    the features found on the hardware processor. Note for example that
    Xen offers x2APIC support to guests even when the underlying hardware
    doesn't have such feature.
    
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    master commit: d7cd999faa1edf745a7597db811956cb882a5436
    master date: 2019-11-22 17:52:59 +0100
---
 xen/arch/x86/hvm/vlapic.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index a1a43cd792..d652c5fb20 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -982,6 +982,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, 
uint64_t msr_content)
 
     case APIC_SPIV:
         if ( msr_content & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
+                             APIC_SPIV_FOCUS_DISABLED |
                              (VLAPIC_VERSION & APIC_LVR_DIRECTED_EOI
                               ? APIC_SPIV_DIRECTED_EOI : 0)) )
             return X86EMUL_EXCEPTION;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.12

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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