aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh3/entry.S
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-19 09:12:00 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-19 09:12:00 +0900
commitee8365f23355cdb66e7a6c5c9364e8d3ba4de32f (patch)
treee77b5ff0d17eb583312fe710de569081a3ec8f8d /arch/sh/kernel/cpu/sh3/entry.S
parentsh: Merge the _32/_64 variants of arch/sh/mm/Makefile. (diff)
parentsh: Prevent heartbeat from scribbling over non-LED bits. (diff)
downloadlinux-dev-ee8365f23355cdb66e7a6c5c9364e8d3ba4de32f.tar.xz
linux-dev-ee8365f23355cdb66e7a6c5c9364e8d3ba4de32f.zip
Merge branch 'master' into sh/cachetlb
Conflicts: arch/sh/kernel/Makefile_64
Diffstat (limited to 'arch/sh/kernel/cpu/sh3/entry.S')
-rw-r--r--arch/sh/kernel/cpu/sh3/entry.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S
index 854921c6f45b..f94f25e666cc 100644
--- a/arch/sh/kernel/cpu/sh3/entry.S
+++ b/arch/sh/kernel/cpu/sh3/entry.S
@@ -516,6 +516,14 @@ ENTRY(handle_interrupt)
bsr save_regs ! needs original pr value in k3
mov #-1, k2 ! default vector kept in k2
+ stc sr, r0 ! get status register
+ shlr2 r0
+ and #0x3c, r0
+ cmp/eq #0x3c, r0
+ bf 9f
+ TRACE_IRQS_OFF
+9:
+
! Setup return address and jump to do_IRQ
mov.l 4f, r9 ! fetch return address
lds r9, pr ! put return address in pr