Check only the IR bit of the CIAB Interrupt Control Register when testing
for a level 6 interrupt. An interrupt only occurs if IR is set, and IR is only set if the individual mask bits are set. The individual interrupt status bits can be set without causing an interrupt if the corresponding enable bits are not set.
This commit is contained in:
parent
8e6bc9ed5f
commit
3a51f86499
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: locore.s,v 1.59 1996/06/13 19:12:25 is Exp $ */
|
||||
/* $NetBSD: locore.s,v 1.60 1996/09/28 15:45:41 mhitch Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
@ -654,8 +654,7 @@ _fake_lev6intr:
|
||||
|
||||
CIABADDR(a0)
|
||||
movb a0@(CIAICR),d0 | read irc register (clears ints!)
|
||||
tstb d0 | check if CIAB was source
|
||||
jeq Lchkexter | no, go through isr chain
|
||||
jge Lchkexter | CIAB IR not set, go through isr chain
|
||||
INTREQWADDR(a0)
|
||||
#ifndef LEV6_DEFER
|
||||
movew #INTF_EXTER,a0@ | clear EXTER interrupt in intreq
|
||||
|
Loading…
Reference in New Issue
Block a user