patch-2.4.0-test11 linux/arch/i386/kernel/bluesmoke.c

Next file: linux/arch/i386/kernel/entry.S
Previous file: linux/arch/i386/kernel/apm.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/arch/i386/kernel/bluesmoke.c linux/arch/i386/kernel/bluesmoke.c
@@ -10,7 +10,7 @@
 
 static int banks;
 
-void mcheck_fault(void)
+void do_machine_check(struct pt_regs * regs, long error_code)
 {
 	int recover=1;
 	u32 alow, ahigh, high, low;
@@ -66,22 +66,19 @@
  *	This has to be run for each processor
  */
  
-void mcheck_init(void)
+void mcheck_init(struct cpuinfo_x86 *c)
 {
 	u32 l, h;
 	int i;
-	struct cpuinfo_x86 *c;
 	static int done;
 
-	c=cpu_data+smp_processor_id();
-	
-	if(c->x86_vendor!=X86_VENDOR_INTEL)
+	if( c->x86_vendor != X86_VENDOR_INTEL )
 		return;
 	
-	if(!(c->x86_capability&X86_FEATURE_MCE))
+	if( !test_bit(X86_FEATURE_TSC, &c->x86_capability) )
 		return;
 		
-	if(!(c->x86_capability&X86_FEATURE_MCA))
+	if( !test_bit(X86_FEATURE_MCA, &c->x86_capability) )
 		return;
 		
 	/* Ok machine check is available */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)