Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=kernel2624.git;a=commitdiff;h=00f38ee7aa987c186a5a3c8d4c004566b88a907f

commit 00f38ee7aa987c186a5a3c8d4c004566b88a907f
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date:   Tue Jan 29 01:17:28 2008 +0100

fglrx-8.42.3-8-i686
updated fglrx-firegl_public.c.patch to build with kernel-2.6.24

diff --git a/source/x11-extra/fglrx/FrugalBuild 
b/source/x11-extra/fglrx/FrugalBuild
index 40dfa50..e62ca34 100644
--- a/source/x11-extra/fglrx/FrugalBuild
+++ b/source/x11-extra/fglrx/FrugalBuild
@@ -4,7 +4,7 @@

pkgname=fglrx
pkgver=8.42.3
-pkgrel=7
+pkgrel=8
pkgdesc="Hardware Accelerated ATi driver for xorg"
url="http://www.ati.com/";
# libstdc++5: no hardware acceleration without it
@@ -28,12 +28,12 @@ install=$pkgname.install
up2date=$pkgver
source=(https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-$pkgver-x86.x86_64.run
 \
README.Frugalware libGL.la \
-       fglrx-firegl_public.c-2.6.23.patch)
+       fglrx-firegl_public.c-2.6.24.patch)
options=([EMAIL PROTECTED] 'nodocs')
sha1sums=('b8e878e846e0971d49339ee5957acc6482329510' \
'b64a2303c77f84f5e5db13c9c8fd55f43fa9699b' \
'650973d708466f5c4c21e70c1f1f6c118b27e614' \
-          '57eab429062d6cf64b19e67f2097ef2ce525edeb')
+          '5c88075b135bbc6700301d29736a74177b6df860')

Xversion=x710

@@ -51,7 +51,7 @@ build() {

cp -r $Fsrcdir/ATi/common/* $Fsrcdir/ || Fdie

-       patch -p0 < $Fsrcdir/fglrx-firegl_public.c-2.6.23.patch || Fdie
+       patch -p0 < $Fsrcdir/fglrx-firegl_public.c-2.6.24.patch || Fdie

# building kernel module
Fcd /lib/modules/fglrx/build_mod
diff --git a/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.23.patch 
b/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.23.patch
deleted file mode 100644
index 468f9c9..0000000
--- a/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.23.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- lib/modules/fglrx/build_mod/firegl_public.c.orig   2007-08-10 
23:59:21.000000000 +0200
-+++ lib/modules/fglrx/build_mod/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;
-     }
diff --git a/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.24.patch 
b/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.24.patch
new file mode 100644
index 0000000..740eb1f
--- /dev/null
+++ b/source/x11-extra/fglrx/fglrx-firegl_public.c-2.6.24.patch
@@ -0,0 +1,104 @@
+--- lib/modules/fglrx/build_mod/firegl_public.c.orig   2007-08-10 
23:59:21.000000000 +0200
++++ lib/modules/fglrx/build_mod/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;                                           \
+@@ -2986,7 +2986,7 @@
+ {
+     return request_irq(irq,
+         (void(*)(int, void *, struct pt_regs *))handler,
+-        SA_SHIRQ, dev_name, dev_id);
++        IRQF_SHARED, dev_name, dev_id);
+ }
+
+ void ATI_API_CALL __ke_free_irq(unsigned int irq, void *dev_id)
+@@ -3009,7 +3009,7 @@
+     irq_handler_func = handler;
+     return request_irq(irq,
+         ke_irq_handler_wrap,
+-        SA_SHIRQ, dev_name, dev_id);
++        IRQF_SHARED, dev_name, dev_id);
+ }
+
+ void ATI_API_CALL __ke_free_irq(unsigned int irq, void *dev_id)
+@@ -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;
+     }
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to