From: Kurt Garloff Subject: Use io_remap_page_range in DRM When remapping non-RAM-backed pages, remap_pfn_range will crash then domain under Xen. This happens when using the DRM drivers. Signed-off-by: Kurt Garloff Index: linux-2.6.11/drivers/char/drm/drm_vm.c =================================================================== --- linux-2.6.11.orig/drivers/char/drm/drm_vm.c +++ linux-2.6.11/drivers/char/drm/drm_vm.c @@ -628,8 +628,14 @@ int drm_mmap(struct file *filp, struct v if (io_remap_page_range(DRM_RPR_ARG(vma) vma->vm_start, VM_OFFSET(vma) + offset, vma->vm_end - vma->vm_start, vma->vm_page_prot, 0)) +#elif defined(CONFIG_XEN) + if (io_remap_page_range(vma, vma->vm_start, + VM_OFFSET(vma) + offset, + vma->vm_end - vma->vm_start, + vma->vm_page_prot)) + #else if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start, (VM_OFFSET(vma) + offset) >> PAGE_SHIFT, vma->vm_end - vma->vm_start,