[tip:x86/apic] x86, x2apic: Preserve high 32-bits of IA32_APIC_BASE MSR

From: tip-bot for Naga Chumbalkar
Date: Tue Jul 12 2011 - 23:07:36 EST


Commit-ID: 25970852280c9d5fb2de899769880d3e97332baa
Gitweb: http://git.kernel.org/tip/25970852280c9d5fb2de899769880d3e97332baa
Author: Naga Chumbalkar <nagananda.chumbalkar@xxxxxx>
AuthorDate: Tue, 12 Jul 2011 05:59:07 +0000
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Tue, 12 Jul 2011 14:33:49 -0700

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@xxxxxx>
Link: http://lkml.kernel.org/r/20110712055831.2498.78521.sendpatchset@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Reviewed-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Reviewed-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
---
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 b9338b8..f7b0c7a 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1429,7 +1429,7 @@ void enable_x2apic(void)
rdmsr(MSR_IA32_APICBASE, msr, msr2);
if (!(msr & X2APIC_ENABLE)) {
printk_once(KERN_INFO "Enabling x2apic\n");
- wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, 0);
+ wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, msr2);
}
}
#endif /* CONFIG_X86_X2APIC */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/