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:
mhitch 2009-11-24 18:19:52 +00:00
parent c8fed843e1
commit 128c6b4d5f
1 changed files with 4 additions and 11 deletions

View File

@ -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) */
};