x86, mce: Add a global MCE init helper
authorBorislav Petkov <borislav.petkov@amd.com>
Fri, 16 Oct 2009 10:31:33 +0000 (12:31 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 16 Oct 2009 12:46:50 +0000 (14:46 +0200)
Add an early initcall (pre SMP) which sets up global MCE
functionality.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: Andi Kleen <andi@firstfloor.org>
LKML-Reference: <1255689093-26921-2-git-send-email-borislav.petkov@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/mcheck/mce.c

index 68d968e..8080170 100644 (file)
@@ -1436,8 +1436,6 @@ void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
        __mcheck_cpu_init_timer();
        INIT_WORK(&__get_cpu_var(mce_work), mce_process_work);
 
-       if (raw_smp_processor_id() == 0)
-               atomic_notifier_chain_register(&x86_mce_decoder_chain, &mce_dec_nb);
 }
 
 /*
@@ -1657,6 +1655,14 @@ static int __init mcheck_enable(char *str)
 }
 __setup("mce", mcheck_enable);
 
+static int __init mcheck_init(void)
+{
+       atomic_notifier_chain_register(&x86_mce_decoder_chain, &mce_dec_nb);
+
+       return 0;
+}
+early_initcall(mcheck_init);
+
 /*
  * Sysfs support
  */