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.