Clear MDP_USEDFPU on exec. Set it in process_write_fpregs() unconditionally,
for the benefit of the emulator.
This commit is contained in:
parent
ef504e724d
commit
3c20501d57
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue