diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2010-05-17 04:00:02 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-05-17 04:00:15 -0400 |
commit | 6a2df3a87276cdc08fd87070d09ea18d1fb9d622 (patch) | |
tree | 384b646d0a826ab5c2bafa63e9bea4a057815fe2 /arch/s390/kernel/setup.c | |
parent | 43d399d2ab7e96cb8d952d0ba4e9131587b7c8b9 (diff) |
[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: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 6309276516b9..598752499c3e 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -369,10 +369,6 @@ static void setup_addressing_mode(void) | |||
369 | pr_info("Address spaces switched, " | 369 | pr_info("Address spaces switched, " |
370 | "mvcos not available\n"); | 370 | "mvcos not available\n"); |
371 | } | 371 | } |
372 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
373 | sysc_restore_trace_psw.mask = psw_kernel_bits & ~PSW_MASK_MCHECK; | ||
374 | io_restore_trace_psw.mask = psw_kernel_bits & ~PSW_MASK_MCHECK; | ||
375 | #endif | ||
376 | } | 372 | } |
377 | 373 | ||
378 | static void __init | 374 | static void __init |