Where do MSI quirks belong? [patch]
John Baldwin
jhb at freebsd.org
Mon Dec 11 06:55:49 PST 2006
On Sunday 10 December 2006 19:29, John Polstra wrote:
>
> On Nov 20, 2006, at 9:42 AM, John Baldwin wrote:
>
> > It's going to be a function of the chipset, as something in the
> > chipset
> > (presumably a Host -> PCI bridge) has to listen for writes to
> > 0xfeeXXXXXX and
> > convert them into APIC messages. There are two ways I planned on
> > doing this:
> >
> > 1) Allow PCI-PCI bridges to be blacklisted, and the pcib_alloc_msi
> > [x]()
> > methods would compare the bridge's device id against a blacklist.
> > This can
> > matter if you have virtual PCI-PCI bridges that really a HT -> PCI
> > bridge or
> > the like.
> >
> > 2) Blacklist chipsets in the x86 MD code based on the device ID of
> > the first
> > Host -> PCI bridge at device 0.0.0.
>
> I have implemented both of these checks, except that I put #2 into
> the MI code since I couldn't find any reason to make it x86-
> specific. Here's the patch. Does it look OK to you? It works fine
> here.
Hmm. I did blacklist stuff several weeks ago but haven't had time to
test it or post it yet. :( I do think I like your approach a bit
better though. What I had so far is here:
http://www.FreeBSD.org/~jhb/patches/msi_blacklist.patch
I'm not sure if it's worth blacklisting MSI separate from MSI-X as that
only makes a difference at the device level (chipsets just get a single
memory write per interrupt either way, they can't tell MSI from MSI-X).
--
John Baldwin
More information about the freebsd-arch
mailing list