From owner-freebsd-hackers Tue May 7 12:13:11 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id MAA26247 for hackers-outgoing; Tue, 7 May 1996 12:13:11 -0700 (PDT) Received: from Sisyphos (Sisyphos.MI.Uni-Koeln.DE [134.95.212.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id MAA26242 for ; Tue, 7 May 1996 12:13:08 -0700 (PDT) Received: by Sisyphos id AA04379 (5.67b/IDA-1.5 for freebsd-hackers@freebsd.org); Tue, 7 May 1996 21:12:33 +0200 Message-Id: <199605071912.AA04379@Sisyphos> From: se@zpr.uni-koeln.de (Stefan Esser) Date: Tue, 7 May 1996 21:12:32 +0200 In-Reply-To: "Amancio Hasty Jr." "Re: shared interrupts?" (May 6, 16:02) X-Mailer: Mail User's Shell (7.2.6 alpha(2) 7/9/95) To: "Amancio Hasty Jr." Subject: Re: shared interrupts? Cc: freebsd-hackers@freebsd.org Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On May 6, 16:02, "Amancio Hasty Jr." wrote: } Subject: Re: shared interrupts? } > > Is it possible for PCI devices to shared interrupts? } > } > Yes. } > } > > And if so how does one identify which device is generating the interrupt? } > } > One asks each device sharing the interrupt "Are *yo* talking to *me*?". } > } > 8-). } } Okay, specifically how does one ask each device "Are you really talking } to me?" Well, that specific question is easy to answer (but I don't know whether you'll like this particular answer :) It is device specific ... There is a linked list of devices belonging to each IRQ that is actually being shared, and a meta-handler polls each device in this list, possibly leading to more than one interrupt being serviced. (You are not interested in knowing whether this device originally caused this polling cycle, it suffices to check whether it could take advantage of service now :) It is good practice to have the interrupt handler in a PCI driver just do a quick check in the device's status register, whether this device is in a state that requires service and to just return if it wasn't. Regards, STefan -- Stefan Esser, Zentrum fuer Paralleles Rechnen Tel: +49 221 4706021 Universitaet zu Koeln, Weyertal 80, 50931 Koeln FAX: +49 221 4705160 ============================================================================== http://www.zpr.uni-koeln.de/~se