patch-2.4.6 linux/arch/mips/kernel/entry.S
Next file: linux/arch/mips/kernel/gdb-stub.c
Previous file: linux/arch/mips/kernel/Makefile
Back to the patch index
Back to the overall index
-  Lines: 28
-  Date:
Mon Jul  2 13:56:40 2001
-  Orig file: 
v2.4.5/linux/arch/mips/kernel/entry.S
-  Orig date: 
Fri Aug  4 16:15:37 2000
diff -u --recursive --new-file v2.4.5/linux/arch/mips/kernel/entry.S linux/arch/mips/kernel/entry.S
@@ -12,6 +12,7 @@
 #include <linux/config.h>
 #include <linux/sys.h>
 
+#include <asm/addrspace.h>
 #include <asm/asm.h>
 #include <asm/current.h>
 #include <asm/errno.h>
@@ -43,11 +44,16 @@
 EXPORT(ret_from_sys_call)
 EXPORT(ret_from_irq)
 		.type	ret_from_irq,@function
-		lw	t0, irq_stat		# softirq_active
-		lw	t1, irq_stat+4		# softirq_mask.  unused delay slot
+		la	t1, irq_stat		# softirq_active
+#ifdef CONFIG_SMP
+		lw	t0, TASK_PROCESSOR($28)
+		sll	t0, t0, 5
+		addu	t1, t0
+#endif
+		lw	t0, 0(t1)		# softirq_active
+		lw	t1, 4(t1)		# softirq_mask.  unused delay slot
 		and	t0, t1
 		bnez	t0, handle_softirq
-
 
 9:		lw	t0,PT_STATUS(sp)	# returning to kernel mode?
 		lw	t2, TASK_NEED_RESCHED($28)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)