diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-07-23 13:18:05 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-07-23 13:18:05 +0000 |
commit | 193275208f104d335682d80b870dd63dacf3c79f (patch) | |
tree | fa5c0b9188ef36bc8beb0504200ed2f648dec1b0 /sys/arch/i386 | |
parent | f57734e5260a6aa92634a8d4e74c9c4159e0079d (diff) |
From NetBSD; let i386 run audio at a high IPL
Diffstat (limited to 'sys/arch/i386')
-rw-r--r-- | sys/arch/i386/include/intr.h | 18 | ||||
-rw-r--r-- | sys/arch/i386/isa/isa_machdep.c | 3 |
2 files changed, 12 insertions, 9 deletions
diff --git a/sys/arch/i386/include/intr.h b/sys/arch/i386/include/intr.h index 7c602bf9220..897b0e78401 100644 --- a/sys/arch/i386/include/intr.h +++ b/sys/arch/i386/include/intr.h @@ -33,13 +33,14 @@ #define _I386_INTR_H_ /* Interrupt priority `levels'; not mutually exclusive. */ -#define IPL_BIO 0 /* block I/O */ -#define IPL_NET 1 /* network */ -#define IPL_TTY 2 /* terminal */ -#define IPL_CLOCK 3 /* clock */ +#define IPL_NONE 0 /* nothing */ +#define IPL_BIO 1 /* block I/O */ +#define IPL_NET 2 /* network */ +#define IPL_TTY 3 /* terminal */ #define IPL_IMP 4 /* memory allocation */ -#define IPL_NONE 5 /* nothing */ -#define IPL_HIGH 6 /* everything */ +#define IPL_AUDIO 5 /* audio */ +#define IPL_CLOCK 6 /* clock */ +#define IPL_HIGH 7 /* everything */ /* Interrupt sharing types. */ #define IST_NONE 0 /* none */ @@ -117,8 +118,8 @@ spllower(ncpl) #define splbio() splraise(imask[IPL_BIO]) #define splnet() splraise(imask[IPL_NET]) #define spltty() splraise(imask[IPL_TTY]) +#define splaudio() splraise(imask[IPL_AUDIO]) #define splclock() splraise(imask[IPL_CLOCK]) -#define splimp() splraise(imask[IPL_IMP]) #define splstatclock() splhigh() /* @@ -134,7 +135,8 @@ spllower(ncpl) /* * Miscellaneous */ -#define splhigh() splraise(-1) +#define splimp() splraise(imask[IPL_IMP]) +#define splhigh() splraise(imask[IPL_HIGH]) #define spl0() spllower(0) /* diff --git a/sys/arch/i386/isa/isa_machdep.c b/sys/arch/i386/isa/isa_machdep.c index 79019138dc7..67b908760b8 100644 --- a/sys/arch/i386/isa/isa_machdep.c +++ b/sys/arch/i386/isa/isa_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: isa_machdep.c,v 1.33 1998/12/31 09:17:52 deraadt Exp $ */ +/* $OpenBSD: isa_machdep.c,v 1.34 1999/07/23 13:18:04 niklas Exp $ */ /* $NetBSD: isa_machdep.c,v 1.22 1997/06/12 23:57:32 thorpej Exp $ */ #define ISA_DMA_STATS @@ -325,6 +325,7 @@ intr_calculatemasks() * time, so imp > (tty | net | bio). */ imask[IPL_IMP] |= imask[IPL_TTY] | imask[IPL_NET] | imask[IPL_BIO]; + imask[IPL_AUDIO] |= imask[IPL_IMP]; /* * Enforce a hierarchy that gives slow devices a better chance at not |