[Frugalware-git] kernel2627: nvidia-71xx-71.86.06-2-i686
Miklos Vajna
vmiklos at frugalware.org
Mon Oct 20 19:41:42 CEST 2008
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=kernel2627.git;a=commitdiff;h=a19f31c17f65236449ab393dbbe82c6a20d5d0a0
commit a19f31c17f65236449ab393dbbe82c6a20d5d0a0
Author: Miklos Vajna <vmiklos at frugalware.org>
Date: Mon Oct 20 19:41:25 2008 +0200
nvidia-71xx-71.86.06-2-i686
- added kernel-2.6.27.patch
diff --git a/source/x11-extra/nvidia-71xx/FrugalBuild b/source/x11-extra/nvidia-71xx/FrugalBuild
index d5521af..bb9863a 100644
--- a/source/x11-extra/nvidia-71xx/FrugalBuild
+++ b/source/x11-extra/nvidia-71xx/FrugalBuild
@@ -3,11 +3,13 @@
pkgname=nvidia-71xx
pkgver=71.86.06
-pkgrel=1
+pkgrel=2
archs=('i686' 'x86_64')
_F_nvidia_legacyver="71.86.xx"
Finclude nvidia
+source=($source kernel-2.6.27.patch)
case "$_F_nvidia_arch" in
x86) sha1sums=('948f1ea1cef78035c41be1f6d5b5e9110c38c687');;
x86_64) sha1sums=('518dd3e4d8ff484a6809184064d39afe0004ef45');;
esac
+sha1sums=($sha1sums 'bf023524ca1afc86973015c9d65e860a959b5c56')
diff --git a/source/x11-extra/nvidia-71xx/kernel-2.6.27.patch b/source/x11-extra/nvidia-71xx/kernel-2.6.27.patch
new file mode 100644
index 0000000..1ba936b
--- /dev/null
+++ b/source/x11-extra/nvidia-71xx/kernel-2.6.27.patch
@@ -0,0 +1,87 @@
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c
+--- usr/src/nv/nv.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c 2008-08-12 00:35:45.000000000 +0200
+@@ -1296,14 +1296,22 @@
+ if (get_cpu() == cpu)
+ __nv_setup_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_setup_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ case CPU_DOWN_PREPARE:
+ if (get_cpu() == cpu)
+ __nv_restore_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_restore_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h
+--- usr/src/nv/nv-linux.h 2008-07-18 03:42:51.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h 2008-08-12 00:44:27.000000000 +0200
+@@ -104,7 +104,10 @@
+ #endif
+
+ #include <linux/spinlock.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++#else
+ #include <asm/semaphore.h>
++#endif
+ #include <linux/completion.h>
+ #include <linux/highmem.h>
+
+@@ -665,13 +668,21 @@
+ #if defined(preempt_disable)
+ preempt_disable();
+ #endif
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(func, info, 1);
++ #else
+ ret = smp_call_function(func, info, 1, 1);
++ #endif
+ func(info);
+ #if defined(preempt_enable)
+ preempt_enable();
+ #endif
+ #else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = on_each_cpu(func, info, 1);
++ #else
+ ret = on_each_cpu(func, info, 1, 1);
++ #endif
+ #endif
+ return ret;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/os-interface.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c
+--- usr/src/nv/os-interface.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c 2008-08-12 00:48:07.000000000 +0200
+@@ -48,7 +48,11 @@
+ #endif
+ local_bh_disable();
+ atomic_set(&os_smp_barrier, 1);
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(ipi_handler, NULL, 0);
++ #else
+ ret = smp_call_function(ipi_handler, NULL, 1, 0);
++ #endif
+ #endif
+ return (ret == 0) ? RM_OK : RM_ERROR;
+ }
+@@ -704,7 +708,9 @@
+ U032 sig
+ )
+ {
++ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 26)
+ return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
++ #endif
+ }
+
+ /*******************************************************************************/
More information about the Frugalware-git
mailing list