De-optimize and decomplicate the spurious interrupt handler.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Thiemo Seufer 2004-12-04 21:35:05 +00:00 committed by Ralf Baechle
parent 942b6f6216
commit b59a9504cb

View File

@ -128,28 +128,25 @@ FEXPORT(syscall_exit_work)
/*
* Common spurious interrupt handler.
*/
.text
.align 5
LEAF(spurious_interrupt)
/*
* Someone tried to fool us by sending an interrupt but we
* couldn't find a cause for it.
*/
PTR_LA t1, irq_err_count
#ifdef CONFIG_SMP
lui t1, %hi(irq_err_count)
1: ll t0, %lo(irq_err_count)(t1)
1: ll t0, (t1)
addiu t0, 1
sc t0, %lo(irq_err_count)(t1)
sc t0, (t1)
#if R10000_LLSC_WAR
beqzl t0, 1b
#else
beqz t0, 1b
#endif
#else
lui t1, %hi(irq_err_count)
lw t0, %lo(irq_err_count)(t1)
lw t0, (t1)
addiu t0, 1
sw t0, %lo(irq_err_count)(t1)
sw t0, (t1)
#endif
j ret_from_irq
END(spurious_interrupt)