Merge branch 'akpm'
[linux-2.6/next.git] / arch / x86 / kernel / cpu / mcheck / threshold.c
blobffde17bdd85adb1979964a60c60986cf5c722cc6
1 /*
2 * Common corrected MCE threshold handler code:
3 */
4 #include <linux/interrupt.h>
5 #include <linux/kernel.h>
6 #include <trace/events/irq_vectors.h>
8 #include <asm/irq_vectors.h>
9 #include <asm/apic.h>
10 #include <asm/idle.h>
11 #include <asm/mce.h>
13 static void default_threshold_interrupt(void)
15 printk(KERN_ERR "Unexpected threshold interrupt at vector %x\n",
16 THRESHOLD_APIC_VECTOR);
19 void (*mce_threshold_vector)(void) = default_threshold_interrupt;
21 asmlinkage void smp_threshold_interrupt(void)
23 exit_idle();
24 irq_enter();
25 trace_irq_vector_entry(THRESHOLD_APIC_VECTOR);
26 inc_irq_stat(irq_threshold_count);
27 mce_threshold_vector();
28 trace_irq_vector_exit(THRESHOLD_APIC_VECTOR);
29 irq_exit();
30 /* Ack only at the end to avoid potential reentry */
31 ack_APIC_irq();