PCI bridges & interrupts

John Baldwin jhb at FreeBSD.org
Wed Sep 24 15:17:19 PDT 2003


On 24-Sep-2003 Steve Watt wrote:
> On Sep 24, 16:38, John Baldwin wrote:
> } Subject: RE: PCI bridges & interrupts
> 
> And if I were clever, I would've mentioned that it's in the
> same slot.  And the IRQ that gets assigned (by reading the
> dmesg, as well as reading out the register from config space)
> is the same.

Across bridges the interrupts get swizzled sort of.  Which means
that device 0,4,8,etc. INT A gets mapped to INT A on the front
side of the bridge, device 1,5,7,etc. INT A gets mapped to INT B.
etc.  IIRC your device is at device 5.0, so it's INT A should be
mapped to INT B of that slot, which should get a different interrupt.

> } > What follows is the verbose dmesg from the boot up without the
> } > riser (bridge), followed by diffs when booted with the riser.
> } > 
> } > I'm looking for clues.  It's about >< that far from working right,
> } > and this almost looks like a FreeBSD issue.
> } > 
> } > Buddy, can you spare a clue?  Why isn't the ISR running?
> } 
> } Have you tried 5.x?  Basically, 4.x doesn't really have all the
> } infrastructure to route interrupts, and if your BIOS screws it up,
> } then you aren't going to get the right IRQ number hooked up.
> 
> If the BIOS is screwing it up, it's somehow in the configuration
> of the interrupt controller, which I thought was completely
> owned by the OS.

No, the BIOS sets it up and we may try to tweak it.  In 5.x we
fully tweak it now, but 4.x still relies on the BIOS to set this
up.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-hackers mailing list