Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Castor Fu <castor@netbsd.org>
List: source-changes
Date: 04/11/2000 09:28:06
Module Name: syssrc
Committed By: castor
Date: Tue Apr 11 16:28:06 UTC 2000
Modified Files:
syssrc/sys/arch/mips/mips: fp.S
Log Message:
Taken from Jeff Smith <jeffs@geocast.com>:
Fix regress/lib/libc/ieeefp/except for MIPS. Newer FPE handling code
did not generate SIGFPE, but always SIGILL. Add this back to the
assembly code. The QED 5231 requests the kernel emulates some of
the conditions that generate an SIGFPE, but when the emulation code
did a ctc1 to fsr with an exception the kernel got a FPE in kernel mode.
Fix this by saving the fp regs earlier, then saving the new FSR in
the context. This allows the FSR value to be seen by the SIGFPE
handler.
Add fp emulation for 8 mips2 fpu instructions to handle exceptions
(round.w.fmt, trunc.w.fmt, ceil.w.fmt, floor.w.fmt). This lets
perl5 run when compiled -mips2.
To generate a diff of this commit:
cvs rdiff -r1.16 -r1.17 syssrc/sys/arch/mips/mips/fp.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.