diff options
author | jhb <jhb@FreeBSD.org> | 2001-04-18 17:17:55 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-04-18 17:17:55 +0000 |
commit | 82131f7a660dcea81c8a5ab014109eabe6919132 (patch) | |
tree | d713156ccc133c82b12b6c3fb5c8d963b2ebd2b5 /sys/alpha | |
parent | fe80a1fb97a193b04c1f861a96313a285211e002 (diff) | |
download | FreeBSD-src-82131f7a660dcea81c8a5ab014109eabe6919132.zip FreeBSD-src-82131f7a660dcea81c8a5ab014109eabe6919132.tar.gz |
Back out the previous revision as it causes random sig 11's to userland
processes until a better fix is found.
Submitted by: gallatin
Diffstat (limited to 'sys/alpha')
-rw-r--r-- | sys/alpha/alpha/exception.s | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/alpha/alpha/exception.s b/sys/alpha/alpha/exception.s index 842cc35..bc8ee57 100644 --- a/sys/alpha/alpha/exception.s +++ b/sys/alpha/alpha/exception.s @@ -254,19 +254,15 @@ LEAF(exception_return, 1) /* XXX should be NESTED */ Ler1: LDGP(pv) ldq s1, (FRAME_PS * 8)(sp) /* get the saved PS */ - and s1, ALPHA_PSL_USERMODE, t0 /* are we returning to user? */ - beq t0, Lkernelret /* no: kernel return */ - and s1, ALPHA_PSL_IPL_MASK, t0 /* look at the saved IPL */ bne t0, Lrestoreregs /* != 0: can't do AST or SIR */ + and s1, ALPHA_PSL_USERMODE, t0 /* are we returning to user? */ + beq t0, Lrestoreregs /* no: just return */ + /* Handle any AST's or resched's. */ mov sp, a0 /* only arg is frame */ CALL(ast) - br Lrestoreregs - -Lkernelret: - stq globalp,(FRAME_T7*8)(sp) /* fixup globalp */ Lrestoreregs: /* set the hae register if this process has specified a value */ |