From owner-freebsd-current Fri Mar 17 01:55:41 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id BAA00283 for current-outgoing; Fri, 17 Mar 1995 01:55:41 -0800 Received: from FileServ2.MI.Uni-Koeln.DE (FileServ2.MI.Uni-Koeln.DE [134.95.212.2]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id BAA00241 for ; Fri, 17 Mar 1995 01:54:45 -0800 Received: by FileServ2.MI.Uni-Koeln.DE id AA26274 (5.67b/IDA-1.5 for current@FreeBSD.org); Fri, 17 Mar 1995 10:54:34 +0100 Message-Id: <199503170954.AA26274@FileServ2.MI.Uni-Koeln.DE> From: se@MI.Uni-Koeln.DE (Stefan Esser) Date: Fri, 17 Mar 1995 10:54:34 +0100 In-Reply-To: "Justin T. Gibbs" "Sharing interrupts with PCI devices?" (Mar 16, 18:49) X-Mailer: Mail User's Shell (7.2.5 10/14/92) To: current@FreeBSD.org Subject: Re: Sharing interrupts with PCI devices? Sender: current-owner@FreeBSD.org Precedence: bulk On Mar 16, 18:49, "Justin T. Gibbs" wrote: } Subject: Sharing interrupts with PCI devices? } I saw some commits go by about sharing interrupts under PCI. The } PCI motherboard I have has an aic7870 on it, and when a 2940 is } also in the machine, the bios assigns them the same interrupt. } The probe appears to run fine for the first card, but the second } card hangs sortly after initialization. I haven't found a way to } force them onto separate interrupts in the BIOS or elsewhere, so } it looks like I'm stuck (the onboard controller cannot be disabled } :-(). Does the PCI code already contain logic to pass the proper } unit number down to the driver if two cards use the same interrupt? Shared interrupts have been working for some time on our local systems, and the code will be put into the CVS repository Real Soon Now (TM). PCI interrupts can be shared, but ISA interrupts will have to be assigned uniquely as before. The PCI code generally finds the IRQ line the PCI interrupt is routed to by a PCI BIOS call, or (as the current BSD code does) in a PCI configuration space register. The NCR driver doesn't install an interrupt handler if the IRQ found this way is '0'. It works in a polled mode instead. There is nothing to prevent you from making the driver configuration depend on the IRQ being specified. So it's in fact quite easy to selectively disable the aic7870 in the above mentioned case ... Regards, STefan -- Stefan Esser Internet: Zentrum fuer Paralleles Rechnen Tel: +49 221 4706019 Universitaet zu Koeln FAX: +49 221 4705160 Weyertal 80 50931 Koeln