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)