diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index 492ecfe2eea8..e4ef1a578c2e 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.166 1995/08/06 05:32:59 mycroft Exp $ */ +/* $NetBSD: machdep.c,v 1.167 1995/08/06 19:01:14 mycroft Exp $ */ /*- * Copyright (c) 1993, 1994, 1995 Charles M. Hannum. All rights reserved. @@ -908,7 +908,6 @@ setregs(p, pack, stack, retval) u_long stack; register_t *retval; { - register struct pcb *pcb; register struct trapframe *tf; #if NNPX > 0 @@ -917,9 +916,8 @@ setregs(p, pack, stack, retval) npxdrop(); #endif - pcb = &p->p_addr->u_pcb; - lcr0(pcb->pcb_cr0); - pcb->pcb_flags = 0; + p->p_md.md_flags &= ~MDP_USEDFPU; + p->p_addr->u_pcb.pcb_flags = 0; tf = p->p_md.md_regs; tf->tf_es = LSEL(LUDATA_SEL, SEL_UPL); diff --git a/sys/arch/i386/i386/process_machdep.c b/sys/arch/i386/i386/process_machdep.c index c8dbd92eb99e..e6bf1733234f 100644 --- a/sys/arch/i386/i386/process_machdep.c +++ b/sys/arch/i386/i386/process_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: process_machdep.c,v 1.15 1995/08/06 18:02:22 mycroft Exp $ */ +/* $NetBSD: process_machdep.c,v 1.16 1995/08/06 19:01:18 mycroft Exp $ */ /* * Copyright (c) 1995 Charles M. Hannum. All rights reserved. @@ -197,8 +197,6 @@ process_write_fpregs(p, regs) struct save87 *frame; #if NNPX > 0 - if (npxproc != p) - npxdna(p); if (npxproc == p) npxdrop(); #endif @@ -207,6 +205,7 @@ process_write_fpregs(p, regs) if (frame == NULL) return (EIO); + p->p_md.md_flags |= MDP_USEDFPU; bcopy(regs, frame, sizeof(frame)); return (0);