Merge branch 'for-2.6.31' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[pandora-kernel.git] / arch / x86 / kernel / cpu / mcheck / winchip.c
index 2a043d8..54060f5 100644 (file)
@@ -2,19 +2,17 @@
  * IDT Winchip specific Machine Check Exception Reporting
  * (C) Copyright 2002 Alan Cox <alan@lxorguk.ukuu.org.uk>
  */
-
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
 #include <linux/interrupt.h>
+#include <linux/kernel.h>
+#include <linux/types.h>
+#include <linux/init.h>
 
 #include <asm/processor.h>
 #include <asm/system.h>
+#include <asm/mce.h>
 #include <asm/msr.h>
 
-#include "mce.h"
-
-/* Machine check handler for WinChip C6 */
+/* Machine check handler for WinChip C6: */
 static void winchip_machine_check(struct pt_regs *regs, long error_code)
 {
        printk(KERN_EMERG "CPU0: Machine Check Exception.\n");
@@ -25,12 +23,18 @@ static void winchip_machine_check(struct pt_regs *regs, long error_code)
 void winchip_mcheck_init(struct cpuinfo_x86 *c)
 {
        u32 lo, hi;
+
        machine_check_vector = winchip_machine_check;
+       /* Make sure the vector pointer is visible before we enable MCEs: */
        wmb();
+
        rdmsr(MSR_IDT_FCR1, lo, hi);
        lo |= (1<<2);   /* Enable EIERRINT (int 18 MCE) */
        lo &= ~(1<<4);  /* Enable MCE */
        wrmsr(MSR_IDT_FCR1, lo, hi);
+
        set_in_cr4(X86_CR4_MCE);
-       printk(KERN_INFO "Winchip machine check reporting enabled on CPU#0.\n");
+
+       printk(KERN_INFO
+              "Winchip machine check reporting enabled on CPU#0.\n");
 }