summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/process.c
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-05-11 19:21:22 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-05-11 19:21:22 +0000
commitaed9bea016318b0f4cd8b3ac9aae9cb0f78526ef (patch)
tree3b9d4419011b35ae2d30b8f397331ac5d4a883e6 /arch/mips64/kernel/process.c
parentcbfdca13f959e36f8d5b5703d88bbe30f3fd23c0 (diff)
When last_task_used_math gets the cpu, ST0_CU1 is set during context
switch. All other FP programs have ST0_CU1 cleared in their thread_struct, so that they incur faults on first touching the FPU, and are made the FPU owner, aka last_task_used_math. used_math determines whether a thread has used the FPU before; if not, the FPU needs to be initialized before it can own the FPU. Note: a FP program that has already been using the fpu (not neccesarily the owner), must reinit the fpu if it uses the fpu in a signal handler; a sigreturn restores the original context, discarding the context of the handler.
Diffstat (limited to 'arch/mips64/kernel/process.c')
-rw-r--r--arch/mips64/kernel/process.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/mips64/kernel/process.c b/arch/mips64/kernel/process.c
index c2c077e35..d6d8b7435 100644
--- a/arch/mips64/kernel/process.c
+++ b/arch/mips64/kernel/process.c
@@ -78,7 +78,6 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
childksp = (unsigned long)p + KERNEL_STACK_SIZE - 32;
if (last_task_used_math == current) {
- set_cp0_status(ST0_CU1, ST0_CU1);
save_fp(p);
}
/* set up new TSS. */