summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-11-09 21:43:12 +0000
committerdfr <dfr@FreeBSD.org>1999-11-09 21:43:12 +0000
commitb1f829ffa60332f6e9ad4c4934247006ed24f245 (patch)
treee0f4bacd9438a4020fea315cb0ed5fcdec65f567 /sys
parent5052c78d3e87ea39e4c2895a4526da72efd83e72 (diff)
downloadFreeBSD-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.s2
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)
OpenPOWER on IntegriCloud