linux/arch/s390/kernel
Heiko Carstens 2fa1d4fce5 [S390] disassembler: mark exception causing instructions
If an exception happens the PSW either points to the instruction that
caused the exception or to the instruction that follows the exception
causing instruction, depending on the exception type.
Since the inkernel disassembler adds a ">" in front of the disassembly
many people assume incorrectly that the instruction that is pointed to
must be the cause of the exception. To make people aware that this is
not necessarily the case add a different character in front of the
disassembled instruction that precedes the current instructions.

The output now looks like this:

Krnl PSW : 0704200180000000 0000000000120de8 (test_function+0x0/0x100)
           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
Krnl GPRS: 000003ff00000000 0000000000120de4 000000000091bb40 0000000000000001
           000003fffd2ea000 0000000030fb7df8 0000000030fb7f10 000003ffffa113c8
           000000000091bb40 000003fffd2ea000 0000000000000002 0000000030fb7f10
           000000003f290240 0000000000606220 00000000002cfb5c 0000000030fb7d58
Krnl Code: 0000000000120ddc: b90400a9           lgr     %r10,%r9
           0000000000120de0: a7f4ff88           brc     15,120cf0
          #0000000000120de4: a7f40001           brc     15,120de6
          >0000000000120de8: a7f13f80           tmll    %r15,16256
           0000000000120dec: eb8ff0580024       stmg    %r8,%r15,88(%r15)
           0000000000120df2: a7840001           brc     8,120df4
           0000000000120df6: b90400ef           lgr     %r14,%r15
           0000000000120dfa: a7fbffb8           aghi    %r15,-72

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-12-27 11:27:14 +01:00
..
vdso32 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
vdso64 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
asm-offsets.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
audit.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
base.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
bitmap.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
compat_audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
compat_exec_domain.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
compat_linux.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
compat_linux.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c [S390] return address of compat signals 2011-12-27 11:27:14 +01:00
compat_wrapper.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
cpcmd.c [S390] convert cpcmd printks to pr_xxx macros. 2008-12-25 13:39:19 +01:00
crash_dump.c [S390] Remove error checking from copy_oldmem_page() 2011-10-30 15:16:47 +01:00
crash.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
debug.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c [S390] disassembler: mark exception causing instructions 2011-12-27 11:27:14 +01:00
early.c [S390] Check for NULL termination in command line setup 2011-12-27 11:25:48 +01:00
ebcdic.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
entry64.S [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
entry.h [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
entry.S [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
ftrace.c [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
head31.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head64.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head_kdump.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
head.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
ipl.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
irq.c [S390] irqstats: split IPI interrupt accounting 2011-10-30 15:16:47 +01:00
jump_label.c s390/jump-label: add arch_jump_label_transform_static() 2011-10-25 11:54:37 -07:00
kprobes.c [S390] sparse: fix sparse static warnings 2011-10-30 15:16:46 +01:00
machine_kexec.c [S390] Add VMCOREINFO_SYMBOL(high_memory) to vmcoreinfo 2011-12-27 11:27:13 +01:00
Makefile [S390] topology: get rid of ifdefs 2011-12-27 11:27:10 +01:00
mcount64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mcount.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mem_detect.c [S390] Rework create_mem_hole() function 2011-12-27 11:27:09 +01:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c [S390] irq: have detailed statistics for interrupt types 2011-01-05 12:47:25 +01:00
process.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
processor.c [S390] avoid warning in show_cpuinfo 2011-10-30 15:16:15 +01:00
ptrace.c [S390] remove reset of system call restart on psw changes 2011-12-01 13:32:17 +01:00
reipl64.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
reipl.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
relocate_kernel64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
relocate_kernel.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
s390_ksyms.c [S390] move sie code to entry.S 2011-07-24 10:48:21 +02:00
sclp.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
setup.c [S390] kvm: move cmf host id constant out of lowcore 2011-12-27 11:27:12 +01:00
signal.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
smp.c [S390] outstanding interrupts vs. smp_send_stop 2011-12-27 11:27:13 +01:00
stacktrace.c [S390] Fix stacktrace compile bug. 2008-07-17 17:22:09 +02:00
suspend.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
switch_cpu64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
switch_cpu.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
swsusp_asm64.S PM / Hibernate: Include storage keys in hibernation image on s390 2011-10-16 23:27:46 +02:00
sys_s390.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
syscalls.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
sysinfo.c [S390] sparse: fix sparse warnings in math-emu 2011-10-30 15:16:46 +01:00
time.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
topology.c [S390] topology: increase poll frequency if change is anticipated 2011-12-27 11:27:12 +01:00
traps.c [S390] Enable exception traces by default 2011-12-27 11:27:14 +01:00
vdso.c mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
vmlinux.lds.S [S390] incorrect note program header 2011-11-14 11:19:08 +01:00
vtime.c [S390] sparse: fix sparse static warnings 2011-10-30 15:16:46 +01:00