Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 1996 00:54:06 +0100
From:      se@zpr.uni-koeln.de (Stefan Esser)
To:        Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Cc:        hackers@freebsd.org
Subject:   Re: PCI problem
Message-ID:  <199602092354.AA19472@Sysiphos>
In-Reply-To: Luigi Rizzo <luigi@labinfo.iet.unipi.it> "PCI problem" (Feb  9, 17:49)

next in thread | previous in thread | raw e-mail | index | archive | help
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			  <se@ZPR.Uni-Koeln.DE>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602092354.AA19472>