PCI bridges & interrupts

Steve Watt steve at Watt.COM
Wed Sep 24 15:36:32 PDT 2003


On Sep 24, 18:17, John Baldwin wrote:
} Subject: RE: PCI bridges & interrupts
} 
} 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.

It's at 2.0 when plugged directly in, and 6.0 when on the bridge,
which seems like the same swizzle target.  Oh, wait, the bus number
goes into the swizzle equation too, doesn't it?

Hmm.  I wonder if turning on APIC_IO would help.

} > } > 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.

OK.  Last time I looked closely at the PC architecture, it was
a '386 and things were simple.


On Sep 24, 18:17, John Baldwin wrote:
} Subject: Re: PCI bridges & interrupts
} 
} On 24-Sep-2003 M. Warner Losh wrote:
} > You might want to make sure that you have an up to date stable.  There
} > was a fix to the PCI bridge interrupt swizzle.
} 
} Ah yes, that's true.  However, it doesn't seem that his interrupt is
} being routed, but I could be wrong.  Also, there is another bug in the
} $PIR handling that I committed at BSDCon that also might fix the
} problem.

Was that committed to 4-STABLE?  If so, I'll be getting it
momentarily.

Thanks!

-- 
Steve Watt KD6GGD  PP-ASEL-IA          ICBM: 121W 56' 57.8" / 37N 20' 14.9"
 Internet: steve @ Watt.COM                         Whois: SW32
   Free time?  There's no such thing.  It just comes in varying prices...


More information about the freebsd-hackers mailing list