summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/xbow/xheart.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/sgi/xbow/xheart.c')
-rw-r--r--sys/arch/sgi/xbow/xheart.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/arch/sgi/xbow/xheart.c b/sys/arch/sgi/xbow/xheart.c
index 65b05c9d10f..34ba7f2b72d 100644
--- a/sys/arch/sgi/xbow/xheart.c
+++ b/sys/arch/sgi/xbow/xheart.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xheart.c,v 1.11 2009/10/22 20:39:17 miod Exp $ */
+/* $OpenBSD: xheart.c,v 1.12 2009/10/22 20:59:24 miod Exp $ */
/*
* Copyright (c) 2008 Miodrag Vallat.
@@ -401,7 +401,7 @@ xheart_splx(int newcpl)
if (CPU_IS_PRIMARY(ci))
hw_setintrmask(newcpl);
/* If we still have softints pending trigger processing. */
- if (ci->ci_ipending & SINT_ALLMASK & ~newcpl)
+ if (ci->ci_softpending & ~newcpl)
setsoftintr0();
}
@@ -434,7 +434,6 @@ xheart_intr_handler(uint32_t hwpend, struct trap_frame *frame)
* If interrupts are spl-masked, mark them as pending only.
*/
if ((mask = isr & frame->cpl) != 0) {
- atomic_setbits_int(&ci->ci_ipending, mask);
isr &= ~mask;
}
@@ -442,8 +441,6 @@ xheart_intr_handler(uint32_t hwpend, struct trap_frame *frame)
* Now process unmasked interrupts.
*/
if (isr != 0) {
- atomic_clearbits_int(&ci->ci_ipending, isr);
-
__asm__ (" .set noreorder\n");
icpl = ci->ci_cpl;
__asm__ (" sync\n .set reorder\n");