Make hardware interrupts always block all software interrupts.

This commit is contained in:
mycroft 1995-07-04 07:09:53 +00:00
parent f3285c2e0e
commit 9fbf4d6f47
2 changed files with 5 additions and 10 deletions

View File

@ -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

View File

@ -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. */