summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/genex.S
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-10-08 18:24:23 +0200
committerRalf Baechle <ralf@linux-mips.org>2006-10-10 00:20:46 +0200
commitf431baa55abf8adeed0c718b51deacbc151f58f1 (patch)
treefe0383328c1d8bcb0fae7e266a437b980a05a7f9 /arch/mips/kernel/genex.S
parent[MIPS] Fix RM9000 wait instruction detection. (diff)
downloadlinux-f431baa55abf8adeed0c718b51deacbc151f58f1.tar.xz
linux-f431baa55abf8adeed0c718b51deacbc151f58f1.zip
[MIPS] ret_from_irq adjustment
Make sure that RA on top of interrupt stack is an address of ret_from_irq, so that dump_stack etc. can trace info interrupted context. Also this patch fixes except_vec_vi_handler and __smtc_ipi_vector which seems broken. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/genex.S')
-rw-r--r--arch/mips/kernel/genex.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index 50ed77297728..5baca16993d0 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -133,9 +133,8 @@ NESTED(handle_int, PT_SIZE, sp)
LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28)
- jal plat_irq_dispatch
- LONG_S s0, TI_REGS($28)
- j ret_from_irq
+ PTR_LA ra, ret_from_irq
+ j plat_irq_dispatch
END(handle_int)
__INIT
@@ -224,9 +223,8 @@ NESTED(except_vec_vi_handler, 0, sp)
LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28)
- jalr v0
- LONG_S s0, TI_REGS($28)
PTR_LA ra, ret_from_irq
+ jr v0
END(except_vec_vi_handler)
/*