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
(presumably a Host -> PCI bridge) has to listen for writes to
convert them into APIC messages. There are two ways I planned on
1) Allow PCI-PCI bridges to be blacklisted, and the pcib_alloc_msi
methods would compare the bridge's device id against a blacklist.
matter if you have virtual PCI-PCI bridges that really a HT -> PCI
2) Blacklist chipsets in the x86 MD code based on the device ID of
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
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:
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).