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

[Xen-changelog] [xen master] x86: fix boot time APIC mode detection



commit 234c4dde2fd4f1182fe1a6bea6bced83fe363007
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu May 23 13:08:32 2013 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu May 23 13:08:32 2013 +0200

    x86: fix boot time APIC mode detection
    
    current_cpu_data becomes valid only relatively late in the boot
    process, so looking there for a particular feature early in the game
    would generally give the appearance of the feature being unavailable.
    
    Getting this wrong means that at kexec time the system would get
    returned to xAPIC mode, causing disconnect_bsp_APIC() to try to access
    the APIC page, which on systems with x2APIC pre-enabled will never get
    set up.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Keir Fraser <keir@xxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/apic.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index b28f5ed..a52a0e8 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1474,7 +1474,7 @@ enum apic_mode current_local_apic_mode(void)
 
     /* Reading EXTD bit from the MSR is only valid if CPUID
      * says so, else reserved */
-    if ( cpu_has(&current_cpu_data, X86_FEATURE_X2APIC)
+    if ( boot_cpu_has(X86_FEATURE_X2APIC)
          && (msr_contents & MSR_IA32_APICBASE_EXTD) )
         return APIC_MODE_X2APIC;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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