Update of /cvsroot/linux-mips/linux/arch/mips64/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv24711/arch/mips64/kernel
Modified Files:
process.c
Added Files:
ptrace.c
Log Message:
Don't set CU1 bit if we don't have an FPU. Some b0rken silicon doesn't like it at all.
Index: process.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/arch/mips64/kernel/process.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- process.c 2001/10/27 17:28:54 1.3
+++ process.c 2001/10/31 17:28:54 1.4
@@ -53,7 +53,7 @@
{
/* Forget lazy fpu state */
if (IS_FPU_OWNER()) {
- set_cp0_status(ST0_CU1);
+ __enable_fpu();
__asm__ __volatile__("cfc1\t$0,$31");
CLEAR_FPU_OWNER();
}
@@ -63,7 +63,7 @@
{
/* Forget lazy fpu state */
if (IS_FPU_OWNER()) {
- set_cp0_status(ST0_CU1);
+ __enable_fpu();
__asm__ __volatile__("cfc1\t$0,$31");
CLEAR_FPU_OWNER();
}
@@ -123,10 +123,11 @@
/* We actually store the FPU info in the task->thread
* area.
*/
- if(regs->cp0_status & ST0_CU1) {
+ if (regs->cp0_status & ST0_CU1) {
memcpy(r, ¤t->thread.fpu, sizeof(current->thread.fpu));
return 1;
}
+
return 0; /* Task didn't use the fpu at all. */
}
|