summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-06-22 05:52:25 +0000
committerjkh <jkh@FreeBSD.org>1994-06-22 05:52:25 +0000
commitf51d8b6846fc5e628358be50539b41f469a8cc36 (patch)
tree0487842b8d35bbc418fcaa24e4a24de440091b82 /sys/gnu
parentf19145b0c6564487bf812cf17c68339fae7cbca1 (diff)
downloadFreeBSD-src-f51d8b6846fc5e628358be50539b41f469a8cc36.zip
FreeBSD-src-f51d8b6846fc5e628358be50539b41f469a8cc36.tar.gz
Commit a whole cluster of last minute critical (and one cosmetic) fixes
from David Greenman, Bruce Evans and Julian Elischer. They are: [vnode pager - David/Bruce]: The following patch fixes a problem where some data could be lost in a delayed-write buffer if the cached buffer was larger than a page. This fix was provided by Bruce Evans and modified slightly by me. [st.c - Julian]: My fix for "bad request, must be between 0 and 0" RTFS if you're interested). [gnu/fpemul - David/Bruce]: These changes fix single stepping of emulated FPU instructions. Previously, the instruction after an emulated instruction was executed without causing a SIGTRAP ... The also fix the initial control word being different for the GPL emulator (it is still wrong for the old emulator) and remove an unnecessary panic when emulation is not configured (I hope at least init, sh and reboot will run without floating point. I remember only df and mkfs being broken by the lack of FP in 0.0). [Various fixes described below - Bruce/David]: sys/i386/boot/boot2.S: Yet another attempt to propagate the correct fix for 16 vs 32-bit mode bugs. [verified] sys/i386/i386/db_interface.c: Protect against reentering Debugger(). sys/kern/kern_time.c: Don't allow 'time.tv_usec == 0' except at clock interrupts. sys/pcfs/pcfs_fat.c: Make it compile without -O. sys/scsi/sd.c: Fix as posted to some freebsd mailing list. (changes the order of the assignment of "sectors" because it earlier value is needed first -DG) sys/vm/vm_glue.c: Fix stale comments and verbose code. sys/vm/vm_mmap.c Fix off by 1 errors and verbose code. [From Nate - cosmetic but non-intrusive and useful enough to go in] sys/i386/isa/isa.c: Appended you'll find a patch to the NMI error log routine in isa/isa.c. The below patch just adds some additional information when an NMI occurs which can help debug the hardware problem.
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/i386/fpemul/fpu_entry.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/gnu/i386/fpemul/fpu_entry.c b/sys/gnu/i386/fpemul/fpu_entry.c
index 7b41732..367340a 100644
--- a/sys/gnu/i386/fpemul/fpu_entry.c
+++ b/sys/gnu/i386/fpemul/fpu_entry.c
@@ -55,7 +55,7 @@
*
* W. Metzenthen June 1994.
*
- * $Id: fpu_entry.c,v 1.2 1994/04/29 21:16:21 gclarkii Exp $
+ * $Id: fpu_entry.c,v 1.3 1994/06/10 07:44:22 rich Exp $
*
*/
@@ -210,6 +210,7 @@ math_emulate(struct trapframe * tframe)
if ((((struct pcb *) curproc->p_addr)->pcb_flags & FP_SOFTFP) == 0) {
finit();
+ control_word = __INITIAL_NPXCW__;
((struct pcb *) curproc->p_addr)->pcb_flags |= FP_SOFTFP;
}
FPU_info = tframe;
@@ -228,10 +229,8 @@ math_emulate(struct trapframe * tframe)
#endif
FPU_lookahead = FPU_LOOKAHEAD;
-#if notnow /* I dont know that much of traceing. Is it right? --pink-- */
if (curproc->p_flag & STRC)
FPU_lookahead = 0;
-#endif
do_another_FPU_instruction:
OpenPOWER on IntegriCloud