From owner-freebsd-current Tue May 27 11:09:16 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA25755 for current-outgoing; Tue, 27 May 1997 11:09:16 -0700 (PDT) Received: from Sisyphos.MI.Uni-Koeln.DE (Sisyphos.MI.Uni-Koeln.DE [134.95.212.10]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id LAA25750 for ; Tue, 27 May 1997 11:09:14 -0700 (PDT) Received: from x14.mi.uni-koeln.de (annexr2-38.slip.Uni-Koeln.DE) by Sisyphos.MI.Uni-Koeln.DE with SMTP id AA27710 (5.67b/IDA-1.5 for ); Tue, 27 May 1997 20:08:14 +0200 Received: (from se@localhost) by x14.mi.uni-koeln.de (8.8.5/8.6.9) id UAA07854; Tue, 27 May 1997 20:07:41 +0200 (CEST) X-Face: " Date: Tue, 27 May 1997 20:07:40 +0200 From: Stefan Esser To: Bruce Evans Cc: current@FreeBSD.ORG, gurney_j@resnet.uoregon.edu Subject: Re: cvs commit: src/sys/sys interrupt.h src/sys/kern kern_intr.c References: <199705271332.XAA10911@godzilla.zeta.org.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.74 In-Reply-To: <199705271332.XAA10911@godzilla.zeta.org.au>; from Bruce Evans on Tue, May 27, 1997 at 11:32:26PM +1000 Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On May 27, Bruce Evans wrote: > >> >[Edge sensitive share interrupts] > > >> No, the loop is best done in individual drivers. The low level > > >But it doesn't suffice, that each driver loops as long > >as is responsible for the activation of the interrupt line. > > I assumed only one driver per interrupt line. Well, that's easy ... But the original question was, whether the new shared interrupt support might be applicable to ISA drivers, and the consent seems to be, that it isn't for the reason you give below: > You can read the state of the IRQ pin from the request latch > if the edge latch is not set. Otherwise the request latch > is 0. There is no way to read or write the edge latch > (other than reinitializing the 8259). Thus the request latch > is perfectly unusable for recovering from edge triggering > braindamage. It can only be used to determine the IRQ state > of masked interrupts. I guess we just should say NO, then. The sio driver may implement its own interrupt mux code, and the other ISA drivers will continue to work with non-shared interrupts, only. > This can be now done without changing all drivers by returning > the status in the interrupt descriptor instead of directly. Hmmm, I wonder whether this would be useful to have ... If its only for the SIO driver, I'd avoid the added complexity of having this in the generic interrupt code ... Regards, STefan