catalyst: add patch for linux-3.7 support (via Arch).
This commit is contained in:
parent
33eb83febe
commit
a4d1008e05
2 changed files with 134 additions and 1 deletions
132
srcpkgs/catalyst/files/arch-fglrx-3.7.patch
Normal file
132
srcpkgs/catalyst/files/arch-fglrx-3.7.patch
Normal 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:
|
|
@ -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}
|
||||
|
|
Loading…
Reference in a new issue