Commit e9cfc147 authored by Yoshinori Sato's avatar Yoshinori Sato Committed by Paul Mundt

sh: Fixup SH-2 BUG() trap handling.

This adds in support for the BUG() trap on SH-2.
Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent b641fe01
...@@ -177,15 +177,21 @@ interrupt_entry: ...@@ -177,15 +177,21 @@ interrupt_entry:
7: .long do_IRQ 7: .long do_IRQ
8: .long do_exception_error 8: .long do_exception_error
trap_entry: trap_entry:
add #-0x10,r9 /* verbose BUG trapa entry check */
mov #0x3e,r8
cmp/ge r8,r9
bf/s 1f
add #-0x10,r9
add #0x10,r9
1:
shll2 r9 ! TRA shll2 r9 ! TRA
mov #OFF_TRA,r8 mov #OFF_TRA,r8
add r15,r8 add r15,r8
mov.l r9,@r8 mov.l r9,@r8
mov r9,r8 mov r9,r8
#ifdef CONFIG_TRACE_IRQFLAGS #ifdef CONFIG_TRACE_IRQFLAGS
mov.l 5f, r9 mov.l 2f, r9
jsr @r9 jsr @r9
nop nop
#endif #endif
...@@ -194,12 +200,8 @@ trap_entry: ...@@ -194,12 +200,8 @@ trap_entry:
nop nop
.align 2 .align 2
1: .long syscall_exit
2: .long break_point_trap_software
3: .long NR_syscalls
4: .long sys_call_table
#ifdef CONFIG_TRACE_IRQFLAGS #ifdef CONFIG_TRACE_IRQFLAGS
5: .long trace_hardirqs_on 2: .long trace_hardirqs_on
#endif #endif
#if defined(CONFIG_SH_STANDARD_BIOS) #if defined(CONFIG_SH_STANDARD_BIOS)
...@@ -264,7 +266,7 @@ ENTRY(address_error_handler) ...@@ -264,7 +266,7 @@ ENTRY(address_error_handler)
restore_all: restore_all:
cli cli
#ifdef CONFIG_TRACE_IRQFLAGS #ifdef CONFIG_TRACE_IRQFLAGS
mov.l 3f, r0 mov.l 1f, r0
jsr @r0 jsr @r0
nop nop
#endif #endif
...@@ -309,20 +311,14 @@ restore_all: ...@@ -309,20 +311,14 @@ restore_all:
mov.l @r15,r15 mov.l @r15,r15
rte rte
nop nop
2:
mov.l 1f,r8
mov.l 2f,r9
jmp @r9
lds r8,pr
.align 2 #ifdef CONFIG_TRACE_IRQFLAGS
1: .long trace_hardirqs_off
#endif
$current_thread_info: $current_thread_info:
.long __current_thread_info .long __current_thread_info
$cpu_mode: $cpu_mode:
.long __cpu_mode .long __cpu_mode
#ifdef CONFIG_TRACE_IRQFLAGS
3: .long trace_hardirqs_off
#endif
! common exception handler ! common exception handler
#include "../../entry-common.S" #include "../../entry-common.S"
......
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