pci-gart needs to unmap the IOMMU aperture to prevent cache corruptions. Switch this over to using cpa instead of clear_kernel_mapping()
Drawback right now is that cpa will split everything down to 4k pages, and this costs 4K for each 2MB of aperture; 128KB for a typical 64MB aperture. Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> --- arch/x86/kernel/pci-gart_64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux/arch/x86/kernel/pci-gart_64.c =================================================================== --- linux.orig/arch/x86/kernel/pci-gart_64.c +++ linux/arch/x86/kernel/pci-gart_64.c @@ -731,7 +731,8 @@ void __init gart_iommu_init(void) * the backing memory. The GART address is only used by PCI * devices. */ - clear_kernel_mapping((unsigned long)__va(iommu_bus_base), iommu_size); + set_memory_np((unsigned long)__va(iommu_bus_base), + iommu_size >> PAGE_SHIFT); /* * Try to workaround a bug (thanks to BenH) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/