diff options
author | benno <benno@FreeBSD.org> | 2002-05-28 12:24:29 +0000 |
---|---|---|
committer | benno <benno@FreeBSD.org> | 2002-05-28 12:24:29 +0000 |
commit | 4fc9c21665166e4e9e124c40462138c91f084a0c (patch) | |
tree | 574710ab5af4f109af3bcd57f8ed6f7d48376309 /sys/powerpc/aim/vm_machdep.c | |
parent | 1af92dbd990523626c74a0e064236c1dfaef3a16 (diff) | |
download | FreeBSD-src-4fc9c21665166e4e9e124c40462138c91f084a0c.zip FreeBSD-src-4fc9c21665166e4e9e124c40462138c91f084a0c.tar.gz |
- Move macros that represent where syscall args are kept in a trapframe from
trap.c to frame.h
- Use the macros in vm_machdep.c:cpu_fork() to set up the trap frame of the
new thread.
Diffstat (limited to 'sys/powerpc/aim/vm_machdep.c')
-rw-r--r-- | sys/powerpc/aim/vm_machdep.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c index 1ca7350..12aeaf2 100644 --- a/sys/powerpc/aim/vm_machdep.c +++ b/sys/powerpc/aim/vm_machdep.c @@ -85,6 +85,7 @@ #include <machine/clock.h> #include <machine/cpu.h> #include <machine/fpu.h> +#include <machine/frame.h> #include <machine/md_var.h> #include <dev/ofw/openfirm.h> @@ -151,7 +152,10 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) tf = (struct trapframe *)pcb - 1; bcopy(td1->td_frame, tf, sizeof(*tf)); - /* XXX: Set up trap frame? */ + /* Set up trap frame. */ + tf->fixreg[FIRSTARG] = 0; + tf->fixreg[FIRSTARG + 1] = 0; + tf->cr &= ~0x10000000; td2->td_frame = tf; |