On Mon, 11 Sep 2000, Greg Lehey wrote:

> On Monday, 11 September 2000 at 13:18:37 +1100, Bruce Evans wrote:
> > The stray interrupt handler needs to have a thread, or stray interrupts
> > need to be handled as traps.  Stray interrupts are more like NMIs than
> > normal interrupts, and NMIs are already (mis)handled as traps.
> Independently of that, we need to be able to survive a spurious
> interrupt on any IRQ.

Not really independent.  Spurious interrupts on "any" IRQ can't happen,
interrupts without a handler are masked.  Spurious interrupts on
irq7/irq15 can happen because normal masking by the irq7/irq15 bit in
the ICU doesn't apply (I think they can happen even if all bits in the
ICU mask are set).  They are like an NMI in this respect.

The old code accidentally had some defense against nested spurious
interrupts.  Masking in the ICU doesn't work, but masking in `cpl'
happens to do the right thing (actually the same wrong thing as for
non-nested spurious interrupts).


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to