aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/genex.S
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-10-08 12:24:23 -0400
committerRalf Baechle <ralf@linux-mips.org>2006-10-09 18:20:46 -0400
commitf431baa55abf8adeed0c718b51deacbc151f58f1 (patch)
treefe0383328c1d8bcb0fae7e266a437b980a05a7f9 /arch/mips/kernel/genex.S
parent441ee341ad63572f39cb8074e31806b5b1471d0b (diff)
[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)
133 133
134 LONG_L s0, TI_REGS($28) 134 LONG_L s0, TI_REGS($28)
135 LONG_S sp, TI_REGS($28) 135 LONG_S sp, TI_REGS($28)
136 jal plat_irq_dispatch 136 PTR_LA ra, ret_from_irq
137 LONG_S s0, TI_REGS($28) 137 j plat_irq_dispatch
138 j ret_from_irq
139 END(handle_int) 138 END(handle_int)
140 139
141 __INIT 140 __INIT
@@ -224,9 +223,8 @@ NESTED(except_vec_vi_handler, 0, sp)
224 223
225 LONG_L s0, TI_REGS($28) 224 LONG_L s0, TI_REGS($28)
226 LONG_S sp, TI_REGS($28) 225 LONG_S sp, TI_REGS($28)
227 jalr v0
228 LONG_S s0, TI_REGS($28)
229 PTR_LA ra, ret_from_irq 226 PTR_LA ra, ret_from_irq
227 jr v0
230 END(except_vec_vi_handler) 228 END(except_vec_vi_handler)
231 229
232/* 230/*