summaryrefslogtreecommitdiff
path: root/arch/i386/kernel/cpu/mcheck/k7.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2007-05-21 14:31:47 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-21 09:56:57 -0700
commitc12ceb766eb5ac975c1145d51236fcdcf81a6578 (patch)
treeecc1e605973e3877b99a45c858f57d5a4ceea1be /arch/i386/kernel/cpu/mcheck/k7.c
parent21124a82bb82e100369846ff2044dd5ea65fc934 (diff)
i386: Clear MCE flag on AMD K6
It reports machine check capability in CPUID, but doesn't actually implement all the necessary MSRs of the standard Intel machine check architecture. This fixes a boot failure on K6s recently introduced. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/i386/kernel/cpu/mcheck/k7.c')
-rw-r--r--arch/i386/kernel/cpu/mcheck/k7.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/i386/kernel/cpu/mcheck/k7.c b/arch/i386/kernel/cpu/mcheck/k7.c
index f9fa4142551e..eef63e3630c2 100644
--- a/arch/i386/kernel/cpu/mcheck/k7.c
+++ b/arch/i386/kernel/cpu/mcheck/k7.c
@@ -72,12 +72,12 @@ void amd_mcheck_init(struct cpuinfo_x86 *c)
u32 l, h;
int i;
- machine_check_vector = k7_machine_check;
- wmb();
-
if (!cpu_has(c, X86_FEATURE_MCE))
return;
+ machine_check_vector = k7_machine_check;
+ wmb();
+
printk (KERN_INFO "Intel machine check architecture supported.\n");
rdmsr (MSR_IA32_MCG_CAP, l, h);
if (l & (1<<8)) /* Control register present ? */