diff options
author | jkh <jkh@FreeBSD.org> | 1994-06-22 05:52:25 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1994-06-22 05:52:25 +0000 |
commit | f51d8b6846fc5e628358be50539b41f469a8cc36 (patch) | |
tree | 0487842b8d35bbc418fcaa24e4a24de440091b82 /sys/gnu | |
parent | f19145b0c6564487bf812cf17c68339fae7cbca1 (diff) | |
download | FreeBSD-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.c | 5 |
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: |