Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jul 1997 16:53:40 GMT
From:      mouth@ibm.net (John Kelly)
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        freebsd@atipa.com (FreeBSD Development), hackers@FreeBSD.ORG, terry@lambert.org
Subject:   Re: Sharing interrupts
Message-ID:  <33df1cb8.2144876@smtp-gw01.ny.us.ibm.net>
In-Reply-To: <199707290356.NAA10082@genesis.atrad.adelaide.edu.au>
References:  <199707290356.NAA10082@genesis.atrad.adelaide.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
>More specifically, you can only allow _one_ device to drive an ISA
>IRQ line at any given time.  

Not strictly true, see below.

>ISA bus drivers use totem-pole outputs, so a device which has control
>of an interrupt line but not asserting an interrupt still counts as
>"driving"

A standard totem-pole output is either driving the line to ground
(logic low) or 3.5-4.5 volts (logic high).  But if the device has a
tri-state driver, that third state is "floating," and it can be on the
line at the same time in the floating state without interfering with
another device.

But in any event, that's not what I'm talking about.  I'm talking
about sharing an edge-triggered, ISA interrupt among two or more
serial cards (with single or multiple UARTS per card).

>See the comments and procedure in sioprobe() in i286/isa/sio.c and

I have, and that documentation does not tell the electrical story.

>cross-reference the 8250 datasheet for an understanding of the quirks
>and complexities involved in getting this right.  It is _not_ trivial.

I have.  It's not hard at all.

In the 8259 datasheet, what many people overlook are its electrical
characteristics.  As I said in another post, with a little knowledge
of electricity, a few $0.50 parts, and a soldering iron, you can share
a single, edge-triggered, ISA interrupt among two or more serial
cards.

I'll post the gory details if anyone wants to know.

John





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33df1cb8.2144876>