hi,
sorry,it seems this patch bring other problem,please don't use.
i am investigating it.
>>
>>I think it make sense to clear used_math in do_exec(). It also improvies the
>> performance slightly by not loading the parent's FPU context when it uses the
>>FPU for the first time.
>>
>>Do you have a patch for this?
>Yes. Here it is.
>
>--- processor.h.ori Thu Feb 28 15:02:20 2002
>+++ processor.h Thu Feb 28 15:00:10 2002
>@@ -215,6 +215,7 @@
> regs->cp0_epc = new_pc; \
> regs->regs[29] = new_sp; \
> current->thread.current_ds = USER_DS; \
>+ current->used_math = 0; \
> } while (0)
>
> unsigned long get_wchan(struct task_struct *p);
>
>
>--- traps.c.ori Thu Feb 28 15:04:48 2002
>+++ traps.c Thu Feb 28 15:05:23 2002
>@@ -668,8 +668,12 @@
> if (current->used_math) { /* Using the FPU again. */
> lazy_fpu_switch(last_task_used_math);
> } else { /* First time FPU user. */
>- if (last_task_used_math != NULL)
>+ if (last_task_used_math != NULL) {
>+ int status = read_32bit_cp0_register(CP0_STATUS);
>+ write_32bit_cp0_register(CP0_STATUS,status|ST0_CU1);
>+
> save_fp(last_task_used_math);
>+ }
> init_fpu();
> current->used_math = 1;
> }
>
>
>>
>>Jun
>
>Regards
> Zhang Fuxin
> fxzhang@ict.ac.cn
Regards
Zhang Fuxin
fxzhang@ict.ac.cn
|