diff options
author | root <root@rshg054.dnsready.net> | 2012-09-24 00:22:59 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-09-24 00:22:59 -0700 |
commit | 8f0a971364bf8fee254a13a94adf2bfa9173e804 (patch) | |
tree | 8b25f3fa8cb2e7b6b61d26a667d5f6e3ad967b70 /community-testing/catalyst | |
parent | a7f8166c8968d3414378051d28dcfcc3e377837b (diff) |
Mon Sep 24 00:22:58 PDT 2012
Diffstat (limited to 'community-testing/catalyst')
-rw-r--r-- | community-testing/catalyst/3.5-do_mmap.patch | 50 | ||||
-rw-r--r-- | community-testing/catalyst/PKGBUILD | 63 | ||||
-rw-r--r-- | community-testing/catalyst/catalyst.install | 16 |
3 files changed, 129 insertions, 0 deletions
diff --git a/community-testing/catalyst/3.5-do_mmap.patch b/community-testing/catalyst/3.5-do_mmap.patch new file mode 100644 index 000000000..04248eb7b --- /dev/null +++ b/community-testing/catalyst/3.5-do_mmap.patch @@ -0,0 +1,50 @@ +--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-15 18:30:13.483762070 +0200 ++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-17 17:47:36.543041869 +0200 +@@ -2106,6 +2106,12 @@ + } + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) ++# define NO_DO_MMAP ++# define do_mmap(a,b,c,d,e,f) vm_mmap(a, b, c, d, e, f) ++# define do_munmap(a,b,c) vm_munmap(b, c) ++#endif ++ + unsigned long ATI_API_CALL KCL_MEM_AllocLinearAddrInterval( + KCL_IO_FILE_Handle file, + unsigned long addr, +@@ -2117,10 +2123,13 @@ + + flags = MAP_SHARED; + prot = PROT_READ|PROT_WRITE; +- ++#ifdef NO_DO_MMAP ++ vaddr = (void *) vm_mmap(file, 0, len, prot, flags, pgoff); ++#else + down_write(¤t->mm->mmap_sem); + vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff); + up_write(¤t->mm->mmap_sem); ++#endif + if (IS_ERR(vaddr)) + return 0; + else +@@ -2131,7 +2140,9 @@ + { + int retcode = 0; + ++#ifndef NO_DO_MMAP + down_write(¤t->mm->mmap_sem); ++#endif + #ifdef FGL_LINUX_RHEL_MUNMAP_API + retcode = do_munmap(current->mm, + addr, +@@ -2142,7 +2153,9 @@ + addr, + len); + #endif ++#ifndef NO_DO_MMAP + up_write(¤t->mm->mmap_sem); ++#endif + return retcode; + } + diff --git a/community-testing/catalyst/PKGBUILD b/community-testing/catalyst/PKGBUILD new file mode 100644 index 000000000..80652f726 --- /dev/null +++ b/community-testing/catalyst/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 76561 2012-09-23 08:26:49Z lcarlier $ +# Maintainer: idontknow +# Contributor: to fill with a lot of people + +pkgname=catalyst +pkgver=12.8 +pkgrel=0.1 +_extramodules=extramodules-3.5-ARCH +pkgdesc="AMD proprietary gpu drivers" +arch=('i686' 'x86_64') +url="http://www.amd.com" +license=('custom') +depends=('linux>=3.5' 'linux<3.6') +makedepends=('linux-headers>=3.5' 'linux-headers<3.6') +#conflicts=('nvidia' 'xf86-video-ati' 'ati-dri') +source=(http://www2.ati.com/drivers/linux/amd-driver-installer-${pkgver/./-}-x86.x86_64.zip + 3.5-do_mmap.patch) +md5sums=('41c5478322b13be6909eeb46412a3aa0' + 'a450e2e3db61994b09e9d99d95bee837') +install=catalyst.install + +build() { + cd ${srcdir} + + if [ "${CARCH}" = "x86_64" ]; then + BUILDARCH=x86_64 + _archdir=x86_64 + else + BUILDARCH=i386 + _archdir=x86 + fi + + _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" + sh ./amd-driver-installer*.run --extract fglrx-install + + cd fglrx-install + patch -Np1 -i ../3.5-do_mmap.patch + + cd common/lib/modules/fglrx/build_mod + ln -s "${srcdir}/fglrx-install/arch/${_archdir}"/lib/modules/fglrx/build_mod/libfglrx_ip.a + ln -s 2.6.x/Makefile + + CFLAGS_MODULE="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=0 -DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space -D__SMP__ -DMODVERSIONS" + + make -C /usr/lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} \ + MODFLAGS="$CFLAGS_MODULE" CFLAGS_MODULE="$CFLAGS_MODULE" \ + KVER=${_kernver} PAGE_ATTR_FIX=0 modules +} + +package() { + depends=(${depends[@]} "catalyst-utils=${pkgver}") + + cd ${srcdir}/fglrx-install/common/lib/modules/fglrx/build_mod + + install -Dm644 fglrx.ko "${pkgdir}/usr/lib/modules/${_extramodules}/fglrx.ko" + install -dm755 "${pkgdir}/usr/lib/modprobe.d" + echo "blacklist radeon" >> "${pkgdir}/usr/lib/modprobe.d/catalyst.conf" + sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/catalyst.install" + gzip "${pkgdir}/usr/lib/modules/${_extramodules}/fglrx.ko" + + # license + install -Dm644 "${srcdir}/fglrx-install/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.TXT" +} diff --git a/community-testing/catalyst/catalyst.install b/community-testing/catalyst/catalyst.install new file mode 100644 index 000000000..22b72ea84 --- /dev/null +++ b/community-testing/catalyst/catalyst.install @@ -0,0 +1,16 @@ +post_install() { + EXTRAMODULES='extramodules-3.5-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) + echo 'In order to use the catalyst module, reboot the system.' +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.5-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + EXTRAMODULES='extramodules-3.5-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + |