Commit | Line | Data |
---|---|---|
b2762686 AK |
1 | /* Common corrected MCE threshold handler code */ |
2 | #include <linux/kernel.h> | |
3 | #include <linux/interrupt.h> | |
4 | #include <asm/mce.h> | |
5 | #include <asm/irq_vectors.h> | |
6 | #include <asm/idle.h> | |
7 | ||
8 | static void default_threshold_interrupt(void) | |
9 | { | |
10 | printk(KERN_ERR "Unexpected threshold interrupt at vector %x\n", | |
11 | THRESHOLD_APIC_VECTOR); | |
12 | } | |
13 | ||
14 | void (*mce_threshold_vector)(void) = default_threshold_interrupt; | |
15 | ||
16 | asmlinkage void mce_threshold_interrupt(void) | |
17 | { | |
b2762686 AK |
18 | exit_idle(); |
19 | irq_enter(); | |
20 | inc_irq_stat(irq_threshold_count); | |
21 | mce_threshold_vector(); | |
22 | irq_exit(); | |
f9695df4 AK |
23 | /* Ack only at the end to avoid potential reentry */ |
24 | ack_APIC_irq(); | |
b2762686 | 25 | } |