Someone more knowledgeable than I pointed that I got this wrong. Sorry.

On Thu, Apr 30, 2009 at 7:55 AM, ron minnich <[email protected]> wrote:

> A device itself has only one wire -- there is one physical wire for
> that chip or device. It is called the interrupt line.

A device can actually connect to up to all four wires. This is way
more common than I realized -- I have not paid attention lately.

The device can be wired such that different functions on the device
are wired to different physical interrupt lines that are then wired
to the bus/irq router. example on the m57sli:
[rminn...@amd64 ~]$ setpci -s 0:5.2 3d.b
03
[rminn...@amd64 ~]$ setpci -s 0:5.1 3d.b
02
[rminn...@amd64 ~]$ setpci -s 0:5.0 3d.b
01

But the spec I referred you to does not list functions in the PIRQ
table, only devices. You would use the value of the 3d register to
then map from the table
to the actual line which these are wired to. You can find out what IRQ
it got in 3c.b
[rminn...@amd64 ~]$ setpci -s 0:5.2 3c.b
0f
[rminn...@amd64 ~]$ setpci -s 0:5.1 3c.b
0b
[rminn...@amd64 ~]$ setpci -s 0:5.0 3c.b
0a
[rminn...@amd64 ~]$

Functions have interrupts, but the only interrupts listed in a PIRQ
are for the device.

Sorry for sowing confusion.

ron

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to