Subject: Re: Shared IRQs (WAS: Problems talking to Zoom internal at com3)
To: None <port-i386@NetBSD.ORG>
From: Mike Long <mikel@shore.net>
List: port-i386
Date: 05/27/1997 20:47:58
>From: Jason Thorpe <thorpej@nas.nasa.gov>
>Date: Thu, 22 May 1997 14:12:20 -0700
>
>On Wed, 21 May 1997 17:44:52 -0400 (EDT) 
> wonko@blackhole.arkham.net (Brian Hechinger) wrote:
>
> > this is such a scary statement.  just because Win95 can do it doesn't mean 
> > that a) it's possible for a "real" multitasking OS to do it and b) it's a
> > good idea.  keep in mind that Win95 is a kludged piece of junk.  i bet you
> > that Win NT (4.0 anyway) can't do shared IRQs.
>
>...this is actually somewhat dependent on the bus.  PCI, for example,
>will share IRQs, and it is safe for PCI to do so.  This is _not_ always
>the case on ISA, and IT MAY DAMAGE YOUR HARDWARE.  Since it is _sometimes_
>safe, NetBSD allows it.  As a general rule, though, if an IRQ is to be
>shared, it must be share the same "type", i.e. edge with edge, level with
>level, pulse with nothing.

It's also a bad idea to try to share active-high with active-low. :-)

Note that device drivers should confirm that an interrupt is for that
device before handling it.  Otherwise, they will break on a system
with shared interrupts even if the hardware supports it.

For safety's sake, it's best to avoid shared ISA interrupts unless
they are absolutely necessary.
-- 
Mike Long <mikel@shore.net>                http://www.shore.net/~mikel
"Every normal man must be tempted at times to spit on his hands,
hoist the black flag, and begin slitting throats." -- H.L. Mencken