aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/osf1
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2001-02-21 18:48:06 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2001-02-21 18:48:06 +0000
commit2b1525e1b54ee4ee0fbcc43adb8138b6b80de893 (patch)
treef456c537bcf4c28db10882111bfe4504a5423233 /sys/alpha/osf1
parentbf8a1b099f1b8b363ab9a956a3511996024852e0 (diff)
Notes
Diffstat (limited to 'sys/alpha/osf1')
-rw-r--r--sys/alpha/osf1/osf1_signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/alpha/osf1/osf1_signal.c b/sys/alpha/osf1/osf1_signal.c
index 83b958c1920c..7b533817d863 100644
--- a/sys/alpha/osf1/osf1_signal.c
+++ b/sys/alpha/osf1/osf1_signal.c
@@ -672,6 +672,7 @@ osf1_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
frame->tf_regs[FRAME_A1] = code;
frame->tf_regs[FRAME_A2] = (u_int64_t)sip;
frame->tf_regs[FRAME_A3] = (u_int64_t)catcher; /* a3 is pv */
+ frame->tf_regs[FRAME_FLAGS] = 0; /* full restore */
alpha_pal_wrusp((unsigned long)sip);
}
@@ -726,6 +727,7 @@ osf1_sigreturn(struct proc *p,
p->p_md.md_tf->tf_regs[FRAME_PC] = ksc.sc_pc;
p->p_md.md_tf->tf_regs[FRAME_PS] =
(ksc.sc_ps | ALPHA_PSL_USERSET) & ~ALPHA_PSL_USERCLR;
+ p->p_md.md_tf->tf_regs[FRAME_FLAGS] = 0; /* full restore */
alpha_pal_wrusp(ksc.sc_regs[R_SP]);