linux-mips
[Top] [All Lists]

[PATCH 2.5] r4k_switch task_struct/thread_info fixes

To: Ralf Baechle <ralf@oss.sgi.com>
Subject: [PATCH 2.5] r4k_switch task_struct/thread_info fixes
From: Vivien Chappelier <vivienc@nerim.net>
Date: Mon, 3 Feb 2003 23:21:50 +0100 (CET)
Cc: Jun Sun <jsun@mvista.com>, linux-mips@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Hi,

        This patch fixes an incorrect use of THREAD_FLAGS instead of
TI_FLAGS when clearing the TIF_USEDFPU flag of the current thread info,
and an incorrect assumption when using ST_OFF, that the stack is shared
with task_struct, whereas it is shared with thread_info in 2.5.

Vivien.

Index: arch/mips64/kernel/r4k_switch.S
===================================================================
RCS file: /home/cvs/linux/arch/mips64/kernel/r4k_switch.S,v
retrieving revision 1.22
diff -u -r1.22 r4k_switch.S
--- arch/mips64/kernel/r4k_switch.S     5 Nov 2002 19:51:47 -0000       1.22
+++ arch/mips64/kernel/r4k_switch.S     3 Feb 2003 22:05:26 -0000
@@ -24,6 +24,10 @@
 
        .set    mips3
 
+/* 
+ * Offset to the current process status flags, the first 32 bytes of the
+ * stack are not used.
+ */
 #define ST_OFF (KERNEL_STACK_SIZE - 32 - PT_SIZE + PT_STATUS)
 
 /*
@@ -58,15 +62,15 @@
        nor     t1, zero, t1
 
        and     t0, t0, t1
-       sd      t0, TASK_FLAGS(t3)
+       sd      t0, TI_FLAGS(t3)
 
        /*
         * clear saved user stack CU1 bit
         */
-       ld      t0, ST_OFF(a0)
+       ld      t0, ST_OFF(t3)
        li      t1, ~ST0_CU1
        and     t0, t0, t1
-       sd      t0, ST_OFF(a0)
+       sd      t0, ST_OFF(t3)
 
        
        sll     t2, t0, 5
Index: arch/mips/kernel/r4k_switch.S
===================================================================
RCS file: /home/cvs/linux/arch/mips/kernel/r4k_switch.S,v
retrieving revision 1.29
diff -u -r1.29 r4k_switch.S
--- arch/mips/kernel/r4k_switch.S       5 Nov 2002 19:51:47 -0000       1.29
+++ arch/mips/kernel/r4k_switch.S       3 Feb 2003 22:06:17 -0000
@@ -67,10 +67,10 @@
        /*
         * clear saved user stack CU1 bit
         */
-       lw      t0, ST_OFF(a0)
+       lw      t0, ST_OFF(t3)
        li      t1, ~ST0_CU1
        and     t0, t0, t1
-       sw      t0, ST_OFF(a0)
+       sw      t0, ST_OFF(t3)
 
        FPU_SAVE_DOUBLE(a0, t0)                 # clobbers t0
 


<Prev in Thread] Current Thread [Next in Thread>