aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh2
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-12-04 04:17:28 -0500
committerPaul Mundt <lethal@linux-sh.org>2006-12-05 20:45:40 -0500
commitafbfb52e47273a440df33274452c603e8c332de2 (patch)
tree041dc70061a67e787b362959298e093830b4b4d7 /arch/sh/kernel/cpu/sh2
parentc03c69610bfa728805deceeb624ee4268c722a5a (diff)
sh: stacktrace/lockdep/irqflags tracing support.
Wire up all of the essentials for lockdep.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh2')
-rw-r--r--arch/sh/kernel/cpu/sh2/entry.S16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh2/entry.S b/arch/sh/kernel/cpu/sh2/entry.S
index 298d9191909d..34d51b3745ea 100644
--- a/arch/sh/kernel/cpu/sh2/entry.S
+++ b/arch/sh/kernel/cpu/sh2/entry.S
@@ -184,6 +184,11 @@ trap_entry:
184 add r15,r8 184 add r15,r8
185 mov.l r9,@r8 185 mov.l r9,@r8
186 mov r9,r8 186 mov r9,r8
187#ifdef CONFIG_TRACE_IRQFLAGS
188 mov.l 5f, r9
189 jsr @r9
190 nop
191#endif
187 sti 192 sti
188 bra system_call 193 bra system_call
189 nop 194 nop
@@ -193,6 +198,9 @@ trap_entry:
1932: .long break_point_trap_software 1982: .long break_point_trap_software
1943: .long NR_syscalls 1993: .long NR_syscalls
1954: .long sys_call_table 2004: .long sys_call_table
201#ifdef CONFIG_TRACE_IRQFLAGS
2025: .long trace_hardirqs_on
203#endif
196 204
197#if defined(CONFIG_SH_STANDARD_BIOS) 205#if defined(CONFIG_SH_STANDARD_BIOS)
198 /* Unwind the stack and jmp to the debug entry */ 206 /* Unwind the stack and jmp to the debug entry */
@@ -255,6 +263,11 @@ ENTRY(address_error_handler)
255 263
256restore_all: 264restore_all:
257 cli 265 cli
266#ifdef CONFIG_TRACE_IRQFLAGS
267 mov.l 3f, r0
268 jsr @r0
269 nop
270#endif
258 mov r15,r0 271 mov r15,r0
259 mov.l $cpu_mode,r2 272 mov.l $cpu_mode,r2
260 mov #OFF_SR,r3 273 mov #OFF_SR,r3
@@ -307,6 +320,9 @@ $current_thread_info:
307 .long __current_thread_info 320 .long __current_thread_info
308$cpu_mode: 321$cpu_mode:
309 .long __cpu_mode 322 .long __cpu_mode
323#ifdef CONFIG_TRACE_IRQFLAGS
3243: .long trace_hardirqs_off
325#endif
310 326
311! common exception handler 327! common exception handler
312#include "../../entry-common.S" 328#include "../../entry-common.S"