patch-2.4.20 linux-2.4.20/arch/mips64/kernel/process.c
Next file: linux-2.4.20/arch/mips64/kernel/ptrace.c
Previous file: linux-2.4.20/arch/mips64/kernel/proc.c
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
Thu Nov 28 15:53:10 2002
- Orig file:
linux-2.4.19/arch/mips64/kernel/process.c
- Orig date:
Fri Aug 2 17:39:43 2002
diff -urN linux-2.4.19/arch/mips64/kernel/process.c linux-2.4.20/arch/mips64/kernel/process.c
@@ -29,6 +29,7 @@
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/elf.h>
+#include <asm/cpu.h>
ATTRIB_NORET void cpu_idle(void)
{
@@ -53,8 +54,10 @@
{
/* Forget lazy fpu state */
if (IS_FPU_OWNER()) {
- __enable_fpu();
- __asm__ __volatile__("cfc1\t$0,$31");
+ if (mips_cpu.options & MIPS_CPU_FPU) {
+ __enable_fpu();
+ __asm__ __volatile__("cfc1\t$0,$31");
+ }
CLEAR_FPU_OWNER();
}
}
@@ -63,8 +66,10 @@
{
/* Forget lazy fpu state */
if (IS_FPU_OWNER()) {
- __enable_fpu();
- __asm__ __volatile__("cfc1\t$0,$31");
+ if (mips_cpu.options & MIPS_CPU_FPU) {
+ __enable_fpu();
+ __asm__ __volatile__("cfc1\t$0,$31");
+ }
CLEAR_FPU_OWNER();
}
}
@@ -79,7 +84,8 @@
childksp = (unsigned long)p + KERNEL_STACK_SIZE - 32;
if (IS_FPU_OWNER()) {
- save_fp(p);
+ if (mips_cpu.options & MIPS_CPU_FPU)
+ save_fp(p);
}
/* set up new TSS. */
childregs = (struct pt_regs *) childksp - 1;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)