diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-09-09 18:33:43 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-09-09 18:33:43 +0000 |
commit | 04d10e89c88d3a03b6e96822b1b798ca8196d638 (patch) | |
tree | 9d9275fc34a733643072a772e18e38a5ee764f67 /sys | |
parent | a5e3d456630e27473c6d84bf55e572c1b0b729a1 (diff) |
set up the frame flags and a user frame better on exec
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa/hppa/machdep.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/hppa/hppa/machdep.c b/sys/arch/hppa/hppa/machdep.c index dc0e12b2556..c1f046e12a8 100644 --- a/sys/arch/hppa/hppa/machdep.c +++ b/sys/arch/hppa/hppa/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.76 2002/08/03 18:57:04 mickey Exp $ */ +/* $OpenBSD: machdep.c,v 1.77 2002/09/09 18:33:42 mickey Exp $ */ /* * Copyright (c) 1999-2002 Michael Shalayeff @@ -1163,6 +1163,7 @@ setregs(p, pack, stack, retval) */ #endif + tf->tf_flags = TFF_SYS|TFF_LAST; tf->tf_iioq_tail = 4 + (tf->tf_iioq_head = pack->ep_entry | HPPA_PC_PRIV_USER); tf->tf_rp = 0; @@ -1171,8 +1172,9 @@ setregs(p, pack, stack, retval) /* setup terminal stack frame */ stack = hppa_round_page(stack); + tf->tf_r3 = stack; + suword((caddr_t)(stack), 0); stack += HPPA_FRAME_SIZE; - suword((caddr_t)(stack - HPPA_FRAME_PSP), 0); suword((caddr_t)(stack - HPPA_FRAME_CRP), 0); tf->tf_sp = stack; |