s390/nmi: use irqentry_nmi_enter()/irqentry_nmi_exit()
With generic entry in place switch the nmi handler to use the generic entry helper functions. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
a0c0c44e9a
commit
520763a327
|
@ -11,6 +11,7 @@
|
||||||
#include <linux/kernel_stat.h>
|
#include <linux/kernel_stat.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
|
#include <linux/entry-common.h>
|
||||||
#include <linux/hardirq.h>
|
#include <linux/hardirq.h>
|
||||||
#include <linux/log2.h>
|
#include <linux/log2.h>
|
||||||
#include <linux/kprobes.h>
|
#include <linux/kprobes.h>
|
||||||
|
@ -397,11 +398,12 @@ int notrace s390_do_machine_check(struct pt_regs *regs)
|
||||||
static unsigned long long last_ipd;
|
static unsigned long long last_ipd;
|
||||||
struct mcck_struct *mcck;
|
struct mcck_struct *mcck;
|
||||||
unsigned long long tmp;
|
unsigned long long tmp;
|
||||||
|
irqentry_state_t irq_state;
|
||||||
union mci mci;
|
union mci mci;
|
||||||
unsigned long mcck_dam_code;
|
unsigned long mcck_dam_code;
|
||||||
int mcck_pending = 0;
|
int mcck_pending = 0;
|
||||||
|
|
||||||
nmi_enter();
|
irq_state = irqentry_nmi_enter(regs);
|
||||||
|
|
||||||
if (user_mode(regs))
|
if (user_mode(regs))
|
||||||
update_timer_mcck();
|
update_timer_mcck();
|
||||||
|
@ -504,14 +506,14 @@ int notrace s390_do_machine_check(struct pt_regs *regs)
|
||||||
clear_cpu_flag(CIF_MCCK_GUEST);
|
clear_cpu_flag(CIF_MCCK_GUEST);
|
||||||
|
|
||||||
if (user_mode(regs) && mcck_pending) {
|
if (user_mode(regs) && mcck_pending) {
|
||||||
nmi_exit();
|
irqentry_nmi_exit(regs, irq_state);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mcck_pending)
|
if (mcck_pending)
|
||||||
schedule_mcck_handler();
|
schedule_mcck_handler();
|
||||||
|
|
||||||
nmi_exit();
|
irqentry_nmi_exit(regs, irq_state);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
NOKPROBE_SYMBOL(s390_do_machine_check);
|
NOKPROBE_SYMBOL(s390_do_machine_check);
|
||||||
|
|
Loading…
Reference in New Issue