patch-2.4.19 linux-2.4.19/arch/mips/galileo-boards/ev96100/int-handler.S
Next file: linux-2.4.19/arch/mips/galileo-boards/ev96100/irq.c
Previous file: linux-2.4.19/arch/mips/galileo-boards/ev96100/init.c
Back to the patch index
Back to the overall index
- Lines: 33
- Date:
Fri Aug 2 17:39:43 2002
- Orig file:
linux-2.4.18/arch/mips/galileo-boards/ev96100/int-handler.S
- Orig date:
Wed Dec 31 16:00:00 1969
diff -urN linux-2.4.18/arch/mips/galileo-boards/ev96100/int-handler.S linux-2.4.19/arch/mips/galileo-boards/ev96100/int-handler.S
@@ -0,0 +1,32 @@
+#include <asm/asm.h>
+#include <asm/mipsregs.h>
+#include <asm/regdef.h>
+#include <asm/stackframe.h>
+
+ .set noat
+ .align 5
+
+NESTED(ev96100IRQ, PT_SIZE, sp)
+ SAVE_ALL
+ CLI # Important: mark KERNEL mode !
+
+ mfc0 t0, CP0_CAUSE # get pending interrupts
+ mfc0 t1, CP0_STATUS # get enabled interrupts
+ and t0, t1 # isolate allowed ones
+
+ # FIX ME add R7000 extensions
+ andi t0,0xff00 # isolate pending bits
+ andi a0, t0, CAUSEF_IP7
+ beq a0, zero, 1f
+ move a0, sp
+ jal mips_timer_interrupt
+ j ret_from_irq
+
+1: beqz t0, 3f # spurious interrupt
+ move a0, t0
+ move a1, sp # delay slot
+ jal ev96100_cpu_irq
+ j ret_from_irq
+
+3: j spurious_interrupt
+ END(ev96100IRQ)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)