summaryrefslogtreecommitdiff
path: root/include/asm-s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-11-20 11:13:32 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-11-20 11:13:45 +0100
commit411788ea7fca01ee803af8225ac35807b4d02050 (patch)
treea9704a068513b438bbe33b219ef9f6c29be01918 /include/asm-s390
parent7aa8dac7ac68f5c2293e2ecf5ef542aa849f541f (diff)
downloadlinux-3.10-411788ea7fca01ee803af8225ac35807b4d02050.tar.gz
linux-3.10-411788ea7fca01ee803af8225ac35807b4d02050.tar.bz2
linux-3.10-411788ea7fca01ee803af8225ac35807b4d02050.zip
[S390] Fix irq tracing and lockdep_sys_exit calls.
Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken. IRQ flag tracing is broken for program checks. Even worse is that the newly introduced calls to lockdep_sys_exit are in the critical section code which is not supposed to call any C functions. In addition the checks if locks are still held are also done when returning to kernel code which is broken as well. Fix all this by disabling interrupts and machine checks at the exit paths and then do the appropriate checks and calls. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'include/asm-s390')
-rw-r--r--include/asm-s390/system.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h
index d866d338555..44bda786eef 100644
--- a/include/asm-s390/system.h
+++ b/include/asm-s390/system.h
@@ -388,6 +388,11 @@ extern void (*_machine_power_off)(void);
#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
+
#endif /* __KERNEL__ */
#endif