Commit 6a2df3a8 authored by Martin Schwidefsky's avatar Martin Schwidefsky Committed by Martin Schwidefsky

[S390] improve irq tracing code in entry[64].S

The system call path in entry[64].S is run with interrupts enabled.
Remove the irq tracing check from the system call exit code. If a
program check interrupted a context enabled for interrupts do a
call to trace_irq_off_caller in the program check handler before
branching to the system call exit code.
Restructure the system call and io interrupt return code to avoid
avoid the lpsw[e] to disable machine checks.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 43d399d2
...@@ -459,11 +459,6 @@ extern void (*_machine_power_off)(void); ...@@ -459,11 +459,6 @@ extern void (*_machine_power_off)(void);
#define arch_align_stack(x) (x) #define arch_align_stack(x) (x)
#ifdef CONFIG_TRACE_IRQFLAGS
extern psw_t sysc_restore_trace_psw;
extern psw_t io_restore_trace_psw;
#endif
static inline int tprot(unsigned long addr) static inline int tprot(unsigned long addr)
{ {
int rc = -EFAULT; int rc = -EFAULT;
......
This diff is collapsed.
This diff is collapsed.
...@@ -369,10 +369,6 @@ static void setup_addressing_mode(void) ...@@ -369,10 +369,6 @@ static void setup_addressing_mode(void)
pr_info("Address spaces switched, " pr_info("Address spaces switched, "
"mvcos not available\n"); "mvcos not available\n");
} }
#ifdef CONFIG_TRACE_IRQFLAGS
sysc_restore_trace_psw.mask = psw_kernel_bits & ~PSW_MASK_MCHECK;
io_restore_trace_psw.mask = psw_kernel_bits & ~PSW_MASK_MCHECK;
#endif
} }
static void __init static void __init
......
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