Commit 9cfc9a9b authored by Paul Mundt's avatar Paul Mundt

sh: Add a simple code dumper for SUPERH32 show_regs().

This implements a simple show_code() that is in turn plugged in to
show_regs() to provide minimal code dumping at the end of the trace.

Built on top of a simple instruction disassembler derived from the
binutils opcode table.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent edfd6da0
...@@ -175,6 +175,7 @@ static __inline__ void enable_fpu(void) ...@@ -175,6 +175,7 @@ static __inline__ void enable_fpu(void)
void show_trace(struct task_struct *tsk, unsigned long *sp, void show_trace(struct task_struct *tsk, unsigned long *sp,
struct pt_regs *regs); struct pt_regs *regs);
void show_code(struct pt_regs *regs);
extern unsigned long get_wchan(struct task_struct *p); extern unsigned long get_wchan(struct task_struct *p);
#define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc)
......
...@@ -9,9 +9,10 @@ ifdef CONFIG_FUNCTION_TRACER ...@@ -9,9 +9,10 @@ ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_ftrace.o = -pg CFLAGS_REMOVE_ftrace.o = -pg
endif endif
obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \ obj-y := debugtraps.o disassemble.o io.o io_generic.o irq.o \
ptrace_32.o setup.o signal_32.o sys_sh.o sys_sh32.o \ machvec.o process_32.o ptrace_32.o setup.o signal_32.o \
syscalls_32.o time_32.o topology.o traps.o traps_32.o sys_sh.o sys_sh32.o syscalls_32.o time_32.o topology.o \
traps.o traps_32.o
obj-y += cpu/ timers/ obj-y += cpu/ timers/
obj-$(CONFIG_VSYSCALL) += vsyscall/ obj-$(CONFIG_VSYSCALL) += vsyscall/
......
This diff is collapsed.
...@@ -148,6 +148,7 @@ void show_regs(struct pt_regs * regs) ...@@ -148,6 +148,7 @@ void show_regs(struct pt_regs * regs)
regs->mach, regs->macl, regs->gbr, regs->pr); regs->mach, regs->macl, regs->gbr, regs->pr);
show_trace(NULL, (unsigned long *)regs->regs[15], regs); show_trace(NULL, (unsigned long *)regs->regs[15], regs);
show_code(regs);
} }
/* /*
......
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