Clear MDP_USEDFPU on exec. Set it in process_write_fpregs() unconditionally,

for the benefit of the emulator.
This commit is contained in:
mycroft 1995-08-06 19:01:14 +00:00
parent ef504e724d
commit 3c20501d57
2 changed files with 5 additions and 8 deletions

View File

@ -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. * Copyright (c) 1993, 1994, 1995 Charles M. Hannum. All rights reserved.
@ -908,7 +908,6 @@ setregs(p, pack, stack, retval)
u_long stack; u_long stack;
register_t *retval; register_t *retval;
{ {
register struct pcb *pcb;
register struct trapframe *tf; register struct trapframe *tf;
#if NNPX > 0 #if NNPX > 0
@ -917,9 +916,8 @@ setregs(p, pack, stack, retval)
npxdrop(); npxdrop();
#endif #endif
pcb = &p->p_addr->u_pcb; p->p_md.md_flags &= ~MDP_USEDFPU;
lcr0(pcb->pcb_cr0); p->p_addr->u_pcb.pcb_flags = 0;
pcb->pcb_flags = 0;
tf = p->p_md.md_regs; tf = p->p_md.md_regs;
tf->tf_es = LSEL(LUDATA_SEL, SEL_UPL); tf->tf_es = LSEL(LUDATA_SEL, SEL_UPL);

View File

@ -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. * Copyright (c) 1995 Charles M. Hannum. All rights reserved.
@ -197,8 +197,6 @@ process_write_fpregs(p, regs)
struct save87 *frame; struct save87 *frame;
#if NNPX > 0 #if NNPX > 0
if (npxproc != p)
npxdna(p);
if (npxproc == p) if (npxproc == p)
npxdrop(); npxdrop();
#endif #endif
@ -207,6 +205,7 @@ process_write_fpregs(p, regs)
if (frame == NULL) if (frame == NULL)
return (EIO); return (EIO);
p->p_md.md_flags |= MDP_USEDFPU;
bcopy(regs, frame, sizeof(frame)); bcopy(regs, frame, sizeof(frame));
return (0); return (0);