/*
- * Copyright 2003 PMC-Sierra Inc.
+ * Copyright 2003, 04 PMC-Sierra Inc.
* Author: Manish Lachwani (lachwani@pmc-sierra.com
+ * Copyright 2004 Ralf Baechle (ralf@linux-mips.org)
*
* First-level interrupt router for the PMC-Sierra Titan board
*
CLI
.set at
.set noreorder
+ la ra, ret_from_irq
mfc0 t0, CP0_CAUSE
mfc0 t2, CP0_STATUS
li a0, 2
move a1, sp
#ifdef CONFIG_HYPERTRANSPORT
- jal ll_ht_smp_irq_handler
+ j ll_ht_smp_irq_handler
#else
- jal do_IRQ
+ j do_IRQ
#endif
- j ret_from_irq
ll_pcib_irq:
li a0, 3
move a1, sp
- jal do_IRQ
- j ret_from_irq
+ j do_IRQ
ll_duart_irq:
li a0, 4
move a1, sp
- jal do_IRQ
- j ret_from_irq
+ j do_IRQ
ll_smp_irq:
li a0, 5
move a1, sp
#ifdef CONFIG_SMP
- jal jaguar_mailbox_irq
+ j titan_mailbox_irq
#else
- jal do_IRQ
+ j do_IRQ
#endif
- j ret_from_irq
ll_ht_irq:
li a0, 6
move a1, sp
- jal ll_ht_smp_irq_handler
- j ret_from_irq
+ j ll_ht_smp_irq_handler
ll_timer_irq:
li a0, 7
move a1, sp
- jal do_IRQ
- j ret_from_irq
+ j do_IRQ