[arch-commits] CVS update of extra/modules/fglrx (3 files)
Tobias Powalowski
tpowa at archlinux.org
Sat Oct 13 16:07:51 UTC 2007
Date: Saturday, October 13, 2007 @ 12:07:51
Author: tpowa
Path: /home/cvs-extra/extra/modules/fglrx
Added: kernel-2.6.23.patch (1.1)
Modified: PKGBUILD (1.9 -> 1.10) fglrx.install (1.3 -> 1.4)
'upgpkg: update to new kernel'
---------------------+
PKGBUILD | 14 ++++----
fglrx.install | 6 +--
kernel-2.6.23.patch | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 96 insertions(+), 10 deletions(-)
Index: extra/modules/fglrx/PKGBUILD
diff -u extra/modules/fglrx/PKGBUILD:1.9 extra/modules/fglrx/PKGBUILD:1.10
--- extra/modules/fglrx/PKGBUILD:1.9 Tue Sep 18 10:36:55 2007
+++ extra/modules/fglrx/PKGBUILD Sat Oct 13 12:07:50 2007
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD,v 1.9 2007/09/18 14:36:55 travis Exp $
+# $Id: PKGBUILD,v 1.10 2007/10/13 16:07:50 tpowa Exp $
# Maintainer: Travis Willard <travisw at wmpub.ca>
# Contributor: amdviaman
pkgname=fglrx
pkgver=8.41.7
-_kernel_version=2.6.22
-pkgrel=1
+_kernel_version=2.6.23
+pkgrel=2
pkgdesc="Proprietary AMD/ATI kernel drivers for Radeon brand cards. Stock kernel."
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
@@ -15,9 +15,7 @@
makedepends=()
replaces=('ati-fglrx')
install=${pkgname}.install
-source=(http://www2.ati.com/drivers/linux/ati-driver-installer-$pkgver-x86.x86_64.run)
-md5sums=('0b43b45499ced87a6bd30d99faed25cc')
-sha1sums=('fe556f3ffc6517586809278d8295ca254faefbf0')
+source=(http://www2.ati.com/drivers/linux/ati-driver-installer-$pkgver-x86.x86_64.run kernel-2.6.23.patch)
_kernver=${_kernel_version}-ARCH
@@ -41,6 +39,7 @@
fi
cd $startdir/src
cd $startdir/src/lib/modules/fglrx/build_mod/
+ patch -Np0 -i $startdir/src/kernel-2.6.23.patch || return 1
# Build the kernel module
cp 2.6.x/Makefile .
@@ -53,4 +52,5 @@
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/$install
}
-
+md5sums=('0b43b45499ced87a6bd30d99faed25cc'
+ '3bcb3038a0905942f61418d69b8b895b')
Index: extra/modules/fglrx/fglrx.install
diff -u extra/modules/fglrx/fglrx.install:1.3 extra/modules/fglrx/fglrx.install:1.4
--- extra/modules/fglrx/fglrx.install:1.3 Mon Jul 9 16:33:02 2007
+++ extra/modules/fglrx/fglrx.install Sat Oct 13 12:07:51 2007
@@ -13,20 +13,20 @@
echo "You can use the tool 'aticonfig' to generate an xorg.conf file."
echo "Remember to add fglrx to the MODULES list in /etc/rc.conf."
echo "--------------------------------------------------------------"
- KERNEL_VERSION=2.6.22-ARCH
+ KERNEL_VERSION=2.6.23-ARCH
depmod -v $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
- KERNEL_VERSION=2.6.22-ARCH
+ KERNEL_VERSION=2.6.23-ARCH
depmod -v $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the old package version
post_remove() {
- KERNEL_VERSION=2.6.22-ARCH
+ KERNEL_VERSION=2.6.23-ARCH
depmod -v $KERNEL_VERSION > /dev/null 2>&1
}
Index: extra/modules/fglrx/kernel-2.6.23.patch
diff -u /dev/null extra/modules/fglrx/kernel-2.6.23.patch:1.1
--- /dev/null Sat Oct 13 12:07:51 2007
+++ extra/modules/fglrx/kernel-2.6.23.patch Sat Oct 13 12:07:51 2007
@@ -0,0 +1,86 @@
+--- firegl_public.c.orig 2007-08-10 23:59:21.000000000 +0200
++++ firegl_public.c 2007-08-13 20:00:26.000000000 +0200
+@@ -214,6 +214,56 @@
+ #define preempt_enable()
+ #endif
+
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22)
++#if defined(__i386__)
++#define ptep_test_and_clear_dirty(vma, addr, ptep) ({ \
++ int __ret = 0; \
++ if (pte_dirty(*(ptep))) \
++ __ret = test_and_clear_bit(_PAGE_BIT_DIRTY, \
++ &(ptep)->pte_low); \
++ if (__ret) \
++ pte_update((vma)->vm_mm, addr, ptep); \
++ __ret; \
++})
++
++static inline int pte_read(pte_t pte) { return (pte).pte_low & _PAGE_USER; }
++static inline int pte_user(pte_t pte) { return (pte).pte_low & _PAGE_USER; }
++#ifdef CONFIG_X86_PAE
++/*
++ * Is the pte executable?
++ */
++static inline int pte_x(pte_t pte)
++{
++ return !(pte_val(pte) & _PAGE_NX);
++}
++
++/*
++ * All present user-pages with !NX bit are user-executable:
++ */
++static inline int pte_exec(pte_t pte)
++{
++ return pte_user(pte) && pte_x(pte);
++}
++#else
++static inline int pte_exec(pte_t pte)
++{
++ return pte_user(pte);
++}
++#endif /* PAE */
++
++#elif defined(__x86_64__)
++static inline int ptep_test_and_clear_dirty(struct vm_area_struct *vma,
++ unsigned long addr, pte_t *ptep)
++{
++ if (!pte_dirty(*ptep))
++ return 0;
++ return test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte);
++}
++static inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_USER; }
++static inline int pte_exec(pte_t pte) { return !(pte_val(pte) & _PAGE_NX); }
++#endif
++#endif
++
+ // ============================================================
+ /* globals */
+
+@@ -2356,7 +2406,7 @@ void ATI_API_CALL __ke_put_vm_page_table
+ #ifndef ptep_clear_flush_dirty
+ #define ptep_clear_flush_dirty(__vma, __address, __ptep) \
+ ({ \
+- int __dirty = ptep_test_and_clear_dirty(__ptep); \
++ int __dirty = ptep_test_and_clear_dirty(__vma, __address, __ptep); \
+ if (__dirty) \
+ flush_tlb_page(__vma, __address); \
+ __dirty; \
+@@ -5303,7 +5353,7 @@ unsigned int ATI_API_CALL KAS_Spinlock_R
+ /** \brief Type definition of the structure describing Slab Cache object */
+ typedef struct tag_kasSlabCache_t
+ {
+- kmem_cache_t* cache; /* OS slab cache object */
++ struct kmem_cache *cache; /* OS slab cache object */
+ spinlock_t lock; /* OS spinlock object protecting the cache */
+ unsigned int routine_type; /* Type of routine the cache might be accessed from */
+ char name[14]; /* Cache object name (kernel 2.4 restricts its length to 19 chars) */
+@@ -5349,7 +5399,7 @@ unsigned int ATI_API_CALL KAS_SlabCache_
+ DBG_TRACE("creating slab object '%s'", slabcache_obj->name);
+
+ if ((slabcache_obj->cache =
+- kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL, NULL)))
++ kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL)))
+ {
+ ret = 1;
+ }
More information about the arch-commits
mailing list