linux-mips-fnet
[Top] [All Lists]

Re: FPU Control Word: Initial Value looks wrong

To: Andreas Jaeger <aj@suse.de>
Subject: Re: FPU Control Word: Initial Value looks wrong
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Tue, 4 Jul 2000 00:32:32 +0200
Cc: linux-mips@fnet.fr, linux-mips@oss.sgi.com
In-reply-to: <u8sntrm88t.fsf@gromit.rhein-neckar.de>; from aj@suse.de on Mon, Jul 03, 2000 at 07:30:42PM +0200
References: <u8sntrm88t.fsf@gromit.rhein-neckar.de>
On Mon, Jul 03, 2000 at 07:30:42PM +0200, Andreas Jaeger wrote:

> Porting glibc to MIPS I noticed that the initial contents of the fpu
> control word doesn't seem to be right (at least on the machines I've
> tried - one with a normal MIPS 2.2.13 and one with 2.2.15 and the
> MIPS/Algorithmics patches (including FPU emulator).

> The appended small test program should return a 0 (that's the desired
> value by glibc for full ISO C99 support) - but it seems to be set to
> 0x600.
> 
> Could the kernel folks fix this, please?  I grepped through the sources
> and didn't find a place where the FPU gets initialised.:-(

Surprise - the kernel initializes this to zero and the libc should do
the same afair.  Did this change?

I tried your program on a Indy running 2.4.0-test2 + glibc 2.2 and it was
printing ``0 0''.

Could you check the source of your kernel for the value it's writing to
fcr31?  That's the constant FPU_DEFAULT defined in arch/mips/kernel/
r4k_switch.S.  Some quite old kernel were using a different value but I
was actually assuming those versions have already died out.

  Ralf

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