On Thu, Sep 28, 2006 at 05:45:41AM -0400, Jeff Garzik wrote:Muli Ben-Yehuda wrote:On Tue, Sep 26, 2006 at 03:15:08PM -0400, Jeff Garzik wrote:You'll need to modify struct pci_sysdata in include/asm-{i386,x86_64}/pci.h to include the data that you previously stored directly into the sysdata pointer.The x86[-64] PCI domain effort needs to be restarted, because we've gotThis breaks the Calgary IOMMU, since it uses sysdata for other
machines out in the field that need this in order for some devices to
work.
purposes (going back from a bus to its IO address space). I'm looking
into it.
Something like this should do the trick. Note - this should not be
applied yet - after several gigabytes of network and disk activity it
takes aic94xx down. More investigation required.
diff -Naurp -X /home/muli/w/dontdiff pci-domains/arch/x86_64/kernel/pci-calgary.c linux/arch/x86_64/kernel/pci-calgary.c
--- pci-domains/arch/x86_64/kernel/pci-calgary.c 2006-09-28 13:31:14.000000000 +0300
+++ linux/arch/x86_64/kernel/pci-calgary.c 2006-09-28 13:14:38.000000000 +0300