Remove old legacy IPL_* settings in ipl2spl_table - they are redundant
and in the case of IPL_AUDIO, results in IPL_VM blocking all interrupts. [IPL_AUDIO is now the same as IPL_VM, and was setting the IPL_VM entry to PSL_IPL6. IPL_SERIAL had a duplicate entry for some reason, and serial drivers that check and modify IPL_SERIAL now shouldn't be affected since IPL_SERIAL is now the same as IPL_HIGH. I'm hoping this will fix or at least help the problem of serial interrupts being blocked too long.
This commit is contained in:
parent
c8fed843e1
commit
128c6b4d5f
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: machdep.c,v 1.221 2009/11/23 00:11:42 rmind Exp $ */
|
||||
/* $NetBSD: machdep.c,v 1.222 2009/11/24 18:19:52 mhitch Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
|
||||
|
@ -86,7 +86,7 @@
|
|||
#include "opt_panicbutton.h"
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.221 2009/11/23 00:11:42 rmind Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.222 2009/11/24 18:19:52 mhitch Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
|
@ -1301,19 +1301,12 @@ int _spllkm7() {
|
|||
int ipl2spl_table[_NIPL] = {
|
||||
[IPL_NONE] = PSL_IPL0|PSL_S,
|
||||
[IPL_SOFTCLOCK] = PSL_IPL1|PSL_S,
|
||||
[IPL_BIO] = PSL_IPL3|PSL_S,
|
||||
[IPL_NET] = PSL_IPL3|PSL_S,
|
||||
[IPL_TTY] = PSL_IPL4|PSL_S,
|
||||
[IPL_SERIAL] = PSL_IPL5|PSL_S,
|
||||
[IPL_VM] = PSL_IPL4|PSL_S,
|
||||
[IPL_SERIAL] = PSL_IPL4|PSL_S, /* patched by some devices at attach
|
||||
time (currently, only the coms) */
|
||||
[IPL_AUDIO] = PSL_IPL6|PSL_S,
|
||||
#if defined(LEV6_DEFER)
|
||||
[IPL_CLOCK] = PSL_IPL4|PSL_S,
|
||||
[IPL_SCHED] = PSL_IPL4|PSL_S,
|
||||
[IPL_HIGH] = PSL_IPL4|PSL_S,
|
||||
#else /* defined(LEV6_DEFER) */
|
||||
[IPL_CLOCK] = PSL_IPL6|PSL_S,
|
||||
[IPL_SCHED] = PSL_IPL6|PSL_S,
|
||||
[IPL_HIGH] = PSL_IPL7|PSL_S,
|
||||
#endif /* defined(LEV6_DEFER) */
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue