summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2002-09-09 18:33:43 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2002-09-09 18:33:43 +0000
commit04d10e89c88d3a03b6e96822b1b798ca8196d638 (patch)
tree9d9275fc34a733643072a772e18e38a5ee764f67
parenta5e3d456630e27473c6d84bf55e572c1b0b729a1 (diff)
set up the frame flags and a user frame better on exec
-rw-r--r--sys/arch/hppa/hppa/machdep.c6
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;