diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2005-09-15 21:14:28 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2005-09-15 21:14:28 +0000 |
commit | 8febb36b3c2de4173ea6dfcd221fe8d00eaadce8 (patch) | |
tree | cedd3975bf805bd83930892b072f4287426434ec /sys/arch/m88k | |
parent | 7a9949a766efb61c185c9bf2f8f4c6b31008d9b5 (diff) |
In syscall(), do not recompute the struct proc * after the syscall has
succeeded. This used to be necessary for fork(), when returning in the child,
but we return in the child in child_return() which does TRT.
ok art@
Diffstat (limited to 'sys/arch/m88k')
-rw-r--r-- | sys/arch/m88k/m88k/trap.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/sys/arch/m88k/m88k/trap.c b/sys/arch/m88k/m88k/trap.c index 160b407fe60..1ec8c5d0973 100644 --- a/sys/arch/m88k/m88k/trap.c +++ b/sys/arch/m88k/m88k/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.20 2005/09/15 21:09:29 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.21 2005/09/15 21:14:27 miod Exp $ */ /* * Copyright (c) 2004, Miodrag Vallat. * Copyright (c) 1998 Steve Murphree, Jr. @@ -1206,15 +1206,6 @@ m88100_syscall(register_t code, struct trapframe *tf) switch (error) { case 0: - /* - * If fork succeeded and we are the child, our stack - * has moved and the pointer tf is no longer valid, - * and p is wrong. Compute the new trapframe pointer. - * (The trap frame invariably resides at the - * tippity-top of the u. area.) - */ - p = curproc; - tf = (struct trapframe *)USER_REGS(p); tf->tf_r[2] = rval[0]; tf->tf_r[3] = rval[1]; tf->tf_epsr &= ~PSR_C; @@ -1378,8 +1369,6 @@ m88110_syscall(register_t code, struct trapframe *tf) * (The trap frame invariably resides at the * tippity-top of the u. area.) */ - p = curproc; - tf = (struct trapframe *)USER_REGS(p); tf->tf_r[2] = rval[0]; tf->tf_r[3] = rval[1]; tf->tf_epsr &= ~PSR_C; |