Clear PSL_FP/PSL_VEC so the lwp won't think it owns them.

This commit is contained in:
matt 2015-07-06 05:03:56 +00:00
parent 6efc5a99e0
commit 5e93a4a116

View File

@ -1,4 +1,4 @@
/* $NetBSD: vm_machdep.c,v 1.98 2012/10/20 14:42:15 kiyohara Exp $ */
/* $NetBSD: vm_machdep.c,v 1.99 2015/07/06 05:03:56 matt Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.98 2012/10/20 14:42:15 kiyohara Exp $");
__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.99 2015/07/06 05:03:56 matt Exp $");
#include "opt_altivec.h"
#include "opt_multiprocessor.h"
@ -107,6 +107,8 @@ cpu_lwp_fork(struct lwp *l1, struct lwp *l2, void *stack, size_t stacksize,
* Setup the trap frame for the new process
*/
*l2->l_md.md_utf = *l1->l_md.md_utf;
l2->l_md.md_utf->tf_srr1 &= ~(PSL_FP|PSL_VEC);
l2->l_md.md_flags &= ~PSL_VEC;
/*
* If specified, give the child a different stack. Make sure to