diff options
author | Naga Chumbalkar <nagananda.chumbalkar@hp.com> | 2011-07-12 01:59:07 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-07-12 17:33:49 -0400 |
commit | 25970852280c9d5fb2de899769880d3e97332baa (patch) | |
tree | 164c46e430637f790ed2e495155fd8fc724e47f5 /arch/x86/kernel/apic | |
parent | 7fece83235a59b15d75d6c8ef2225c24abd4505b (diff) |
x86, x2apic: Preserve high 32-bits of IA32_APIC_BASE MSR
If there's no special reason to zero-out the "high" 32-bits of the IA32_APIC_BASE
MSR, let's preserve it.
The x2APIC Specification doesn't explicitly state any such requirement. (Sec 2.2
in: http://www.intel.com/Assets/PDF/manual/318148.pdf).
Signed-off-by: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Link: http://lkml.kernel.org/r/20110712055831.2498.78521.sendpatchset@nchumbalkar.americas.cpqcorp.net
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Reviewed-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r-- | arch/x86/kernel/apic/apic.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index b9338b8cf420..f7b0c7a1dfaa 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c | |||
@@ -1429,7 +1429,7 @@ void enable_x2apic(void) | |||
1429 | rdmsr(MSR_IA32_APICBASE, msr, msr2); | 1429 | rdmsr(MSR_IA32_APICBASE, msr, msr2); |
1430 | if (!(msr & X2APIC_ENABLE)) { | 1430 | if (!(msr & X2APIC_ENABLE)) { |
1431 | printk_once(KERN_INFO "Enabling x2apic\n"); | 1431 | printk_once(KERN_INFO "Enabling x2apic\n"); |
1432 | wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, 0); | 1432 | wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, msr2); |
1433 | } | 1433 | } |
1434 | } | 1434 | } |
1435 | #endif /* CONFIG_X86_X2APIC */ | 1435 | #endif /* CONFIG_X86_X2APIC */ |