On Wed, Apr 27, 2005 at 02:36:22PM +0900, Atsushi Nemoto wrote:
> Hi. Here is a patch to make the fpu-emulator preempt-safe. It would
> be SMP-safe also.
>
> The 'ieee754_csr' global variable is removed. Now the 'ieee754_csr'
> is an alias of current->thread.fpu.soft.fcr31. While the fpu-emulator
> uses different mapping for RM bits (FPU_CSR_Rm vs. IEEE754_Rm), RM
> bits are converted before (and after) calling of cop1Emulate(). If we
> adjusted IEEE754_Rm to match with FPU_CSR_Rm, we can remove ieee_rm[]
> and mips_rm[]. Should we do it?
>
> With this patch, whole fpu-emulator can be run without disabling
> preempt. I will post a patch to fix preemption issue soon.
I applied both your patches with some slight cleanup for the endianess
stuff in arch/mips/math-emu/ieee754.h and non-Linux stuff.
Ralf
|