From owner-freebsd-hackers Tue Jul 29 09:52:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id JAA28408 for hackers-outgoing; Tue, 29 Jul 1997 09:52:04 -0700 (PDT) Received: from out2.ibm.net (out2.ibm.net [165.87.194.229]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA28400 for ; Tue, 29 Jul 1997 09:52:01 -0700 (PDT) Received: from slip129-37-53-122.ca.us.ibm.net (slip129-37-53-122.ca.us.ibm.net [129.37.53.122]) by out2.ibm.net (8.8.5/8.6.9) with SMTP id QAA103440; Tue, 29 Jul 1997 16:51:41 GMT From: mouth@ibm.net (John Kelly) To: Michael Smith Cc: freebsd@atipa.com (FreeBSD Development), hackers@FreeBSD.ORG, terry@lambert.org Subject: Re: Sharing interrupts Date: Tue, 29 Jul 1997 16:53:40 GMT Message-ID: <33df1cb8.2144876@smtp-gw01.ny.us.ibm.net> References: <199707290356.NAA10082@genesis.atrad.adelaide.edu.au> In-Reply-To: <199707290356.NAA10082@genesis.atrad.adelaide.edu.au> X-Mailer: Forte Agent 1.01/16.397 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by hub.freebsd.org id JAA28402 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >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