summaryrefslogtreecommitdiff
path: root/arch/m32r/kernel/entry.S
diff options
context:
space:
mode:
authorHirokazu Takata <takata@linux-m32r.org>2005-10-11 08:29:09 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-11 09:46:54 -0700
commit9de11aab1c8fd87da7e1fb435ce0ff26bacd7909 (patch)
tree3ab41df3d9ba382278e819ab8d84be163b6dab9c /arch/m32r/kernel/entry.S
parent6de505173e24e76bb33a2595312e0c2b44d49e58 (diff)
[PATCH] m32r: trap handler code for illegal traps
This patch prevents illegal traps from causing m32r kernel's infinite loop execution. Signed-off-by: Naoto Sugai <sugai@isl.melco.co.jp> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/m32r/kernel/entry.S')
-rw-r--r--arch/m32r/kernel/entry.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index dddbf6b5ed2c..85920fb8d08c 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -681,6 +681,15 @@ ENTRY(debug_trap)
bl do_debug_trap
bra error_code
+ENTRY(ill_trap)
+ /* void ill_trap(void) */
+ SWITCH_TO_KERNEL_STACK
+ SAVE_ALL
+ ldi r1, #0 ; error_code ; FIXME
+ mv r0, sp ; pt_regs
+ bl do_ill_trap
+ bra error_code
+
/* Cache flushing handler */
ENTRY(cache_flushing_handler)