On Sunday 23 July 2006 08:32, Anthony DeRobertis wrote:
Andreas Kleen wrote:
quoted
You need to use iommu=soft swiotlb=force
The standard IOMMU is also broken on VIA, but forced swiotlb should
work.
Didn't work :-(
swiotlb=force is unfortunately broken right now.
But which this patch it should work. Does it?
-Andi
Test patch only: disable DMA over 4GB
Index: linux-2.6.17-work/arch/x86_64/kernel/pci-dma.c
===================================================================
--- linux-2.6.17-work.orig/arch/x86_64/kernel/pci-dma.c
+++ linux-2.6.17-work/arch/x86_64/kernel/pci-dma.c
@@ -202,7 +202,7 @@ int dma_set_mask(struct device *dev, u64
{
if (!dev->dma_mask || !dma_supported(dev, mask))
return -EIO;
- *dev->dma_mask = mask;
+ *dev->dma_mask = mask & 0xffffffff;
return 0;
}
EXPORT_SYMBOL(dma_set_mask);