Commit 520763a3 authored by Sven Schnelle's avatar Sven Schnelle Committed by Alexander Gordeev

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: default avatarSven Schnelle <svens@linux.ibm.com>
Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent a0c0c44e
...@@ -11,6 +11,7 @@ ...@@ -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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment