diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-10-08 18:24:23 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-10-10 00:20:46 +0200 |
commit | f431baa55abf8adeed0c718b51deacbc151f58f1 (patch) | |
tree | fe0383328c1d8bcb0fae7e266a437b980a05a7f9 /arch/mips/kernel/genex.S | |
parent | [MIPS] Fix RM9000 wait instruction detection. (diff) | |
download | linux-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.S | 8 |
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) /* |