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/dec | |
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/dec')
-rw-r--r-- | arch/mips/dec/int-handler.S | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S index 55d60d5e0e86..31dd47d1002d 100644 --- a/arch/mips/dec/int-handler.S +++ b/arch/mips/dec/int-handler.S @@ -266,10 +266,8 @@ handle_it: LONG_L s0, TI_REGS($28) LONG_S sp, TI_REGS($28) - jal do_IRQ - LONG_S s0, TI_REGS($28) - - j ret_from_irq + PTR_LA ra, ret_from_irq + j do_IRQ nop #ifdef CONFIG_32BIT @@ -279,9 +277,8 @@ fpu: #endif spurious: - jal spurious_interrupt - nop - j ret_from_irq + PTR_LA ra, _ret_from_irq + j spurious_interrupt nop END(plat_irq_dispatch) |