summaryrefslogtreecommitdiff
path: root/sys/arch/socppc/dev
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2009-10-01 20:19:20 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2009-10-01 20:19:20 +0000
commit2f170aacf72c46c917cdfe67ac32e89d65edf81d (patch)
tree1dc5956ddab9243ed357fece1a6b970c972f9953 /sys/arch/socppc/dev
parent6c8d318a056e70f92a487ab483553d455ad77e55 (diff)
Generic soft interrupts for macppc. Tested by mk@, deraadt@
ok miod@
Diffstat (limited to 'sys/arch/socppc/dev')
-rw-r--r--sys/arch/socppc/dev/ipic.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/arch/socppc/dev/ipic.c b/sys/arch/socppc/dev/ipic.c
index 5b0b59bfac6..3d51da16528 100644
--- a/sys/arch/socppc/dev/ipic.c
+++ b/sys/arch/socppc/dev/ipic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ipic.c,v 1.10 2009/09/12 21:38:01 kettenis Exp $ */
+/* $OpenBSD: ipic.c,v 1.11 2009/10/01 20:19:19 kettenis Exp $ */
/*
* Copyright (c) 2008 Mark Kettenis
@@ -221,7 +221,7 @@ intr_calculatemasks(void)
int level;
for (level = IPL_NONE; level < IPL_NUM; level++)
- imask[level] = SINT_MASK | (1 << level);
+ imask[level] = SINT_ALLMASK | (1 << level);
/*
* There are tty, network and disk drivers that use free() at interrupt
@@ -233,7 +233,7 @@ intr_calculatemasks(void)
imask[IPL_NET] |= imask[IPL_BIO];
imask[IPL_TTY] |= imask[IPL_NET];
imask[IPL_VM] |= imask[IPL_TTY];
- imask[IPL_CLOCK] |= imask[IPL_VM] | SPL_CLOCK;
+ imask[IPL_CLOCK] |= imask[IPL_VM] | SPL_CLOCKMASK;
/*
* These are pseudo-levels.
@@ -376,8 +376,8 @@ ipic_do_pending_int(void)
uint32_t mask;
int level;
- ci->ci_ipending &= SINT_MASK;
- level = cntlzw(31 - (ci->ci_cpl & ~(SPL_CLOCK|SINT_MASK)));
+ ci->ci_ipending &= SINT_ALLMASK;
+ level = cntlzw(31 - (ci->ci_cpl & ~(SPL_CLOCKMASK|SINT_ALLMASK)));
mask = sc->sc_simsr_h[IPL_HIGH] & ~sc->sc_simsr_h[level];
ipic_write(sc, IPIC_SIMSR_H, mask);
mask = sc->sc_simsr_l[IPL_HIGH] & ~sc->sc_simsr_l[level];