H20692 s 00032/00000/00000 d D 1.1 02/03/13 20:31:03 patch 2 1 cC cF1 cK51490 cO-rw-rw-r-- e s 00000/00000/00000 d D 1.0 02/03/13 20:31:03 patch 1 0 c BitKeeper file /home/marcelo/bk/linux-2.4/arch/mips/galileo-boards/ev96100/int-handler.S cBtorvalds@athlon.transmeta.com|ChangeSet|20020205173056|16047|c1d11a41ed024864 cHplucky.distro.conectiva cK25197 cParch/mips/galileo-boards/ev96100/int-handler.S cR7eb720fd7dfaa4ea cV4 cX0x821 cZ-03:00 e u U f e 0 f x 0x821 t T I 2 #include #include #include #include .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) E 2 I 1 E 1