Merge branch 'x86/core' into x86/mce2
[linux-2.6-block.git] / arch / x86 / kernel / cpu / mcheck / threshold.c
CommitLineData
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
8static void default_threshold_interrupt(void)
9{
10 printk(KERN_ERR "Unexpected threshold interrupt at vector %x\n",
11 THRESHOLD_APIC_VECTOR);
12}
13
14void (*mce_threshold_vector)(void) = default_threshold_interrupt;
15
16asmlinkage 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}