Re: skge error; hangs w/ hardware memory hole

Andi Kleen
2006-07-25T02:35:57Z

On Sunday 23 July 2006 08:32, Anthony DeRobertis wrote:
> Andreas Kleen wrote:
>
> >
> > 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);