Merge tag 'iommu-updates-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[deliverable/linux.git] / arch / x86 / kernel / cpu / mcheck / threshold.c
CommitLineData
73af76df
IM
1/*
2 * Common corrected MCE threshold handler code:
3 */
b2762686 4#include <linux/interrupt.h>
73af76df
IM
5#include <linux/kernel.h>
6
b2762686 7#include <asm/irq_vectors.h>
73af76df 8#include <asm/apic.h>
b2762686 9#include <asm/idle.h>
73af76df 10#include <asm/mce.h>
cf910e83 11#include <asm/trace/irq_vectors.h>
b2762686
AK
12
13static void default_threshold_interrupt(void)
14{
1b74dde7
CY
15 pr_err("Unexpected threshold interrupt at vector %x\n",
16 THRESHOLD_APIC_VECTOR);
b2762686
AK
17}
18
19void (*mce_threshold_vector)(void) = default_threshold_interrupt;
20
eddc0e92 21static inline void __smp_threshold_interrupt(void)
b2762686 22{
b2762686
AK
23 inc_irq_stat(irq_threshold_count);
24 mce_threshold_vector();
eddc0e92
SA
25}
26
2605fc21 27asmlinkage __visible void smp_threshold_interrupt(void)
eddc0e92
SA
28{
29 entering_irq();
30 __smp_threshold_interrupt();
31 exiting_ack_irq();
b2762686 32}
cf910e83 33
2605fc21 34asmlinkage __visible void smp_trace_threshold_interrupt(void)
cf910e83
SA
35{
36 entering_irq();
37 trace_threshold_apic_entry(THRESHOLD_APIC_VECTOR);
38 __smp_threshold_interrupt();
39 trace_threshold_apic_exit(THRESHOLD_APIC_VECTOR);
40 exiting_ack_irq();
41}
This page took 0.428425 seconds and 5 git commands to generate.