linux-mips
[Top] [All Lists]

Re: preempt safe fpu-emulator

To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Subject: Re: preempt safe fpu-emulator
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 28 Apr 2005 14:41:18 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <20050427.143622.77402407.nemoto@toshiba-tops.co.jp>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20050427.143622.77402407.nemoto@toshiba-tops.co.jp>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
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

<Prev in Thread] Current Thread [Next in Thread>