diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c index b451be5d19c1..8ecc8cf16956 100644 --- a/sys/pc98/i386/machdep.c +++ b/sys/pc98/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.107 1999/02/04 09:55:42 kato Exp $ + * $Id: machdep.c,v 1.108 1999/02/12 09:15:33 kato Exp $ */ #include "apm.h" @@ -627,8 +627,14 @@ sendsig(catcher, sig, mask, code) * We should never have PSL_T set when returning from vm86 * mode. It may be set here if we deliver a signal before * getting to vm86 mode, so turn it off. + * + * Clear PSL_NT to inhibit T_TSSFLT faults on return from + * syscalls made by the signal handler. This just avoids + * wasting time for our lazy fixup of such faults. PSL_NT + * does nothing in vm86 mode, but vm86 programs can set it + * almost legitimately in probes for old cpu types. */ - tf->tf_eflags &= ~(PSL_VM | PSL_T | PSL_VIF | PSL_VIP); + tf->tf_eflags &= ~(PSL_VM | PSL_NT | PSL_T | PSL_VIF | PSL_VIP); } #endif /* VM86 */ diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c index b451be5d19c1..8ecc8cf16956 100644 --- a/sys/pc98/pc98/machdep.c +++ b/sys/pc98/pc98/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.107 1999/02/04 09:55:42 kato Exp $ + * $Id: machdep.c,v 1.108 1999/02/12 09:15:33 kato Exp $ */ #include "apm.h" @@ -627,8 +627,14 @@ sendsig(catcher, sig, mask, code) * We should never have PSL_T set when returning from vm86 * mode. It may be set here if we deliver a signal before * getting to vm86 mode, so turn it off. + * + * Clear PSL_NT to inhibit T_TSSFLT faults on return from + * syscalls made by the signal handler. This just avoids + * wasting time for our lazy fixup of such faults. PSL_NT + * does nothing in vm86 mode, but vm86 programs can set it + * almost legitimately in probes for old cpu types. */ - tf->tf_eflags &= ~(PSL_VM | PSL_T | PSL_VIF | PSL_VIP); + tf->tf_eflags &= ~(PSL_VM | PSL_NT | PSL_T | PSL_VIF | PSL_VIP); } #endif /* VM86 */