summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHirokazu Takata <takata@linux-m32r.org>2007-08-17 16:40:37 +0200
committerHirokazu Takata <takata@linux-m32r.org>2007-09-03 04:30:18 +0200
commitabd0a782359717ded8f663bc5b8e5e9e3cc4f5e7 (patch)
treec0bec75a53238f4f1b70753b343623722afd53ef /arch
parentm32r: Simplify ei_handler code (diff)
downloadlinux-abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7.tar.xz
linux-abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7.zip
m32r: Exit ei_handler directly for no IRQ case or IPI operations
If no IRQ request is found in the IRQ check of ei_handler, we can exit directly by jumping "restore_all", instead of via "ret_from_intr". This modification is also likely effective for IPI operations, because scheduler call never happen at the exit of IPIs. Signed-off-by: Hitoshi Yamamoto <hitoshiy@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/m32r/kernel/entry.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index 07d95a4f51a2..4b3a7742fe47 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -333,7 +333,7 @@ ENTRY(ei_handler)
.fillinsn
1:
addi sp, #4
- bra ret_to_intr
+ bra restore_all
.fillinsn
2:
srli r0, #2
@@ -382,7 +382,6 @@ check_end:
pop r14
seth r0, #shigh(M32R_ICU_IMASK_ADDR)
st r14, @(low(M32R_ICU_IMASK_ADDR),r0)
-ret_to_intr:
bra ret_from_intr
/*