summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorluoqi <luoqi@FreeBSD.org>1999-12-06 04:53:08 +0000
committerluoqi <luoqi@FreeBSD.org>1999-12-06 04:53:08 +0000
commit5c9244cd12f812687a0e1da3fa8fd69c320bdb42 (patch)
tree3d2bdc635a51af92e9000f2fe294d685906d5387 /sys/powerpc
parent5851b69ff706eaa8e3a487bdfbbf3fe0177ed46a (diff)
downloadFreeBSD-src-5c9244cd12f812687a0e1da3fa8fd69c320bdb42.zip
FreeBSD-src-5c9244cd12f812687a0e1da3fa8fd69c320bdb42.tar.gz
User ldt sharing.
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/vm_machdep.c6
-rw-r--r--sys/powerpc/powerpc/vm_machdep.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c
index 989be9a..75bfef5 100644
--- a/sys/powerpc/aim/vm_machdep.c
+++ b/sys/powerpc/aim/vm_machdep.c
@@ -115,11 +115,15 @@ vm_fault_quick(v, prot)
* ready to run and return to user mode.
*/
void
-cpu_fork(p1, p2)
+cpu_fork(p1, p2, flags)
register struct proc *p1, *p2;
+ int flags;
{
struct user *up = p2->p_addr;
+ if ((flags & RFPROC) == 0)
+ return;
+
p2->p_md.md_tf = p1->p_md.md_tf;
p2->p_md.md_flags = p1->p_md.md_flags & MDP_FPUSED;
diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c
index 989be9a..75bfef5 100644
--- a/sys/powerpc/powerpc/vm_machdep.c
+++ b/sys/powerpc/powerpc/vm_machdep.c
@@ -115,11 +115,15 @@ vm_fault_quick(v, prot)
* ready to run and return to user mode.
*/
void
-cpu_fork(p1, p2)
+cpu_fork(p1, p2, flags)
register struct proc *p1, *p2;
+ int flags;
{
struct user *up = p2->p_addr;
+ if ((flags & RFPROC) == 0)
+ return;
+
p2->p_md.md_tf = p1->p_md.md_tf;
p2->p_md.md_flags = p1->p_md.md_flags & MDP_FPUSED;
OpenPOWER on IntegriCloud