Make hardware interrupts always block all software interrupts.
This commit is contained in:
parent
f3285c2e0e
commit
9fbf4d6f47
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: psl.h,v 1.19 1995/06/04 20:22:50 mycroft Exp $ */
|
||||
/* $NetBSD: psl.h,v 1.20 1995/07/04 07:10:10 mycroft Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
|
@ -91,6 +91,7 @@
|
|||
#define SIR_NETMASK ((1 << SIR_NET) | SIR_CLOCKMASK)
|
||||
#define SIR_TTY 29
|
||||
#define SIR_TTYMASK ((1 << SIR_TTY) | SIR_CLOCKMASK)
|
||||
#define SIR_ALLMASK (SIR_CLOCKMASK | SIR_NETMASK | SIR_TTYMASK)
|
||||
|
||||
#ifndef LOCORE
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: isa_machdep.c,v 1.5 1995/06/07 07:06:16 cgd Exp $ */
|
||||
/* $NetBSD: isa_machdep.c,v 1.6 1995/07/04 07:09:53 mycroft Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1993, 1994 Charles Hannum.
|
||||
|
@ -95,11 +95,6 @@ isa_defaultirq()
|
|||
{
|
||||
int i;
|
||||
|
||||
imask[IPL_BIO] |= SIR_CLOCKMASK;
|
||||
imask[IPL_NET] |= SIR_NETMASK;
|
||||
imask[IPL_TTY] |= SIR_TTYMASK;
|
||||
imask[IPL_CLOCK] |= SIR_CLOCKMASK;
|
||||
|
||||
/* icu vectors */
|
||||
for (i = 0; i < ICU_LEN; i++)
|
||||
setgate(&idt[ICU_OFFSET + i], IDTVEC(intr)[i], 0, SDT_SYS386IGT,
|
||||
|
@ -197,8 +192,7 @@ intr_calculatemasks()
|
|||
for (irq = 0; irq < ICU_LEN; irq++)
|
||||
if (intrlevel[irq] & (1 << level))
|
||||
irqs |= 1 << irq;
|
||||
/* Preserve any softintr dependencies we set up earlier. */
|
||||
imask[level] = (imask[level] & -(1 << ICU_LEN)) | irqs;
|
||||
imask[level] = irqs;
|
||||
}
|
||||
|
||||
#include "sl.h"
|
||||
|
@ -220,7 +214,7 @@ intr_calculatemasks()
|
|||
for (q = intrhand[irq]; q; q = q->ih_next)
|
||||
if (q->ih_level != IPL_NONE)
|
||||
irqs |= imask[q->ih_level];
|
||||
intrmask[irq] = irqs;
|
||||
intrmask[irq] = irqs | SIR_ALLMASK;
|
||||
}
|
||||
|
||||
/* Lastly, determine which IRQs are actually in use. */
|
||||
|
|
Loading…
Reference in New Issue