diff options
author | dfr <dfr@FreeBSD.org> | 1999-11-09 21:43:12 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1999-11-09 21:43:12 +0000 |
commit | b1f829ffa60332f6e9ad4c4934247006ed24f245 (patch) | |
tree | e0f4bacd9438a4020fea315cb0ed5fcdec65f567 /sys | |
parent | 5052c78d3e87ea39e4c2895a4526da72efd83e72 (diff) | |
download | FreeBSD-src-b1f829ffa60332f6e9ad4c4934247006ed24f245.zip FreeBSD-src-b1f829ffa60332f6e9ad4c4934247006ed24f245.tar.gz |
Drop ipl to zero before calling ast(). Make sure that this only happens
if we are really going to call ast() to avoid unexpected interrupt
recursion.
Reviewed by: bde, gallatin
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/alpha/swtch.s | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/alpha/alpha/swtch.s b/sys/alpha/alpha/swtch.s index 35f50b1..c61cc10 100644 --- a/sys/alpha/alpha/swtch.s +++ b/sys/alpha/alpha/swtch.s @@ -270,6 +270,8 @@ Lchkast: beq t2, Lsetfpenable /* no: return & deal with FP */ /* We've got an AST. Handle it. */ + ldiq a0, ALPHA_PSL_IPL_0 /* drop IPL to zero */ + call_pal PAL_OSF1_swpipl mov sp, a0 /* only arg is frame */ CALL(ast) |