catalyst: add patch for linux-3.7 support (via Arch).

This commit is contained in:
Juan RP 2013-02-07 17:30:23 +01:00
parent 33eb83febe
commit a4d1008e05
2 changed files with 134 additions and 1 deletions

View file

@ -0,0 +1,132 @@
--- common/lib/modules/fglrx/build_mod/firegl_public.c 2012-09-26 15:04:28.000000000 +0200
+++ common/lib/modules/fglrx/build_mod/firegl_public.c 2012-10-16 20:30:42.146523753 +0200
@@ -3892,7 +3892,11 @@
KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n");
return -EAGAIN;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_ops = &vm_ops;
break;
@@ -3922,14 +3926,22 @@
KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n");
return -EAGAIN;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_ops = &vm_ops;
}
break;
#endif
case __KE_SHM:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_ops = &vm_shm_ops;
break;
@@ -3937,7 +3949,11 @@
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_RESERVED;
+#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
//vma->vm_flags |= VM_SHM | VM_LOCKED; /* DDDDDDDDDDon't swap */
//vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
@@ -3946,14 +3962,22 @@
case __KE_CTX:
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
vma->vm_ops = &vm_ctx_ops;
break;
case __KE_PCI_BQS:
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
vma->vm_ops = &vm_pci_bq_ops;
break;
@@ -3984,9 +4008,17 @@
return -EAGAIN;
}
#ifdef __x86_64__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_RESERVED;
#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
+#else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
#endif
vma->vm_ops = &vm_ops;
}
@@ -4015,9 +4047,17 @@
return -EAGAIN;
}
#ifdef __x86_64__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_RESERVED;
#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
+#else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
#endif
vma->vm_ops = &vm_agp_bq_ops;
}
@@ -4025,7 +4065,11 @@
#endif /* __AGP__BUILTIN__ */
case __KE_KMAP:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_SHM | VM_RESERVED;
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_ops = &vm_kmap_ops;
if (readonly && (vma->vm_flags & VM_WRITE))
{
@@ -4046,7 +4090,11 @@
#endif
// fall through
case __KE_GART_CACHEABLE:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
vma->vm_flags |= VM_RESERVED;
+#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
vma->vm_ops = &vm_gart_ops;
break;
default:

View file

@ -1,7 +1,7 @@
# Template file for 'catalyst'
pkgname=catalyst
version=13.1
revision=1
revision=2
short_desc="AMD catalyst driver for Linux -- libraries and utilities"
maintainer="Juan RP <xtraeme@gmail.com>"
license="Propietary AMD license"
@ -32,6 +32,7 @@ do_build() {
do_install() {
cd ${wrksrc}/fglrx
patch -Np0 -i ${FILESDIR}/arch-fglrx-3.7.patch
install -dm755 ${DESTDIR}/usr/{bin,sbin}
install -dm755 ${DESTDIR}/usr/lib/{dri,xorg/modules/{dri,drivers,extensions/fglrx,linux},systemd/system}