From owner-freebsd-hackers Fri Feb 9 15:54:19 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id PAA27716 for hackers-outgoing; Fri, 9 Feb 1996 15:54:19 -0800 (PST) Received: from Sysiphos (Sysiphos.MI.Uni-Koeln.DE [134.95.212.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id PAA27711 for ; Fri, 9 Feb 1996 15:54:16 -0800 (PST) Received: by Sysiphos id AA19472 (5.67b/IDA-1.5 for hackers@freebsd.org); Sat, 10 Feb 1996 00:54:06 +0100 Message-Id: <199602092354.AA19472@Sysiphos> From: se@zpr.uni-koeln.de (Stefan Esser) Date: Sat, 10 Feb 1996 00:54:06 +0100 In-Reply-To: Luigi Rizzo "PCI problem" (Feb 9, 17:49) X-Mailer: Mail User's Shell (7.2.6 alpha(2) 7/9/95) To: Luigi Rizzo Subject: Re: PCI problem Cc: hackers@freebsd.org Sender: owner-hackers@freebsd.org Precedence: bulk On Feb 9, 17:49, Luigi Rizzo wrote: } Subject: PCI problem } [sorry to bother the list, but I lost the name of the guy who asked me } for more info] Might have been me ??? } pci bus 0x0 cardnum 0x0d, vendor 0x1022 device 0x2000 } AMD 79C970 Lance } STATUS 0x0200 COMMAND 0x0185 } CLASS 0x02 0x00 0x00 REVISION 0x02 } BASE0 0x0000ff41 addr 0x0000ff40 I/O } MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b } pci bus 0x0 cardnum 0x0f, vendor 0x1022 device 0x2000 } AMD 79C970 Lance } STATUS 0x0200 COMMAND 0x0185 } CLASS 0x02 0x00 0x00 REVISION 0x02 } BASE0 0x0000ff81 addr 0x0000ff80 I/O } MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b } As you can see, the two network cards share the same int line, even } though the kernel believes they are at int 11 and 10 respectively. As I already wrote in my previous reply, the kernel has no right at all to assume an IRQ for a PCI card. The PCI BIOS assigns IRQs at POST time, and configures a PCI Int to ISA IRQ routing network accordingly. } Any ideas on what can be going on ? The motherboard is an Intel Zappa. Well, the Lance based PCI cards aren't a good choice currently, since they are not supported by a PCI driver. Instead they are used with the lnc0 "ISA" driver, which has no concept of shared interrupts ... If there are no other free IRQs, then the BIOS was right to assign IRQ 11 to both cards. Some operating systems (e.g. Win95) support shared interrupts only for devices of the same class (i.e. network cards). The FreeBSD PCI interrupt code doesn't suffer from such limitations. The BIOS choose perfectly valid numbers, but sadly there isn't yet a PCI wrapper for the "lnc" driver. (If you want to write one you could take the "bt" code would be a good starting point. I could review your code, but I really don't have the time to write it and don't have the hardware to test it ...) 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