From c93b924dcc87709cb91e6d3a454c24fdba8779ce Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sat, 29 Nov 2008 14:36:38 -0600
Subject: older nvidia pkg's straight from arch/modified for .26 kernel

---
 abs/core-testing/nvidia-71xx-utils/PKGBUILD        |  63 ++++++
 .../nvidia-71xx-utils/nvidia-71xx.install          |  29 +++
 .../nvidia-71xx-utils/supported-cards.txt          | 236 +++++++++++++++++++++
 .../nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch      |  87 ++++++++
 abs/core-testing/nvidia-71xx/PKGBUILD              |  45 ++++
 abs/core-testing/nvidia-71xx/nvidia-71xx.install   |  23 ++
 abs/core-testing/nvidia-96xx-utils/PKGBUILD        |  65 ++++++
 .../nvidia-96xx-utils/nvidia-96xx.install          |  22 ++
 .../nvidia-96xx-utils/supported-cards.txt          | 236 +++++++++++++++++++++
 .../nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch      |  87 ++++++++
 abs/core-testing/nvidia-96xx/PKGBUILD              |  44 ++++
 abs/core-testing/nvidia-96xx/nvidia-96xx.install   |  22 ++
 12 files changed, 959 insertions(+)
 create mode 100644 abs/core-testing/nvidia-71xx-utils/PKGBUILD
 create mode 100644 abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install
 create mode 100644 abs/core-testing/nvidia-71xx-utils/supported-cards.txt
 create mode 100644 abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch
 create mode 100644 abs/core-testing/nvidia-71xx/PKGBUILD
 create mode 100644 abs/core-testing/nvidia-71xx/nvidia-71xx.install
 create mode 100644 abs/core-testing/nvidia-96xx-utils/PKGBUILD
 create mode 100644 abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install
 create mode 100644 abs/core-testing/nvidia-96xx-utils/supported-cards.txt
 create mode 100644 abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
 create mode 100644 abs/core-testing/nvidia-96xx/PKGBUILD
 create mode 100644 abs/core-testing/nvidia-96xx/nvidia-96xx.install

diff --git a/abs/core-testing/nvidia-71xx-utils/PKGBUILD b/abs/core-testing/nvidia-71xx-utils/PKGBUILD
new file mode 100644
index 0000000..8d3ac30
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 5949 2008-07-21 20:32:38Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: James Rayner <iphitus@gmail.com>
+
+pkgname=nvidia-71xx-utils
+pkgver=71.86.06
+pkgrel=1
+pkgdesc="NVIDIA legacy drivers utilities and libraries, 71xx branch."
+arch=(i686 x86_64)
+[ "$CARCH" = "i686"   ] && ARCH=x86 	 
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('xorg-server')
+conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-utils' \
+           'nvidia-96xx-utils' 'nvidia-legacy-utils')
+replaces=('nvidia-legacy-utils')
+provides=('libgl')
+license=('custom')
+install=nvidia-71xx.install
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run \
+        supported-cards.txt)
+options=(docs !strip)
+md5sums=('61e4511d1bbb2962ca139091210b61ea'
+         '6363d7e494d33729609540088e33e73f')
+[ "$CARCH" = "x86_64" ] && md5sums=('205599549ddd6fadecfbc1adb090dfe2'
+         '6363d7e494d33729609540088e33e73f')
+
+build()
+{
+  # override nvida install routine and do it the long way.
+  cd $startdir/src/
+  sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+  cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
+
+  mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps}
+  mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
+  mkdir -p $startdir/pkg/usr/share/licenses/nvidia-71xx/
+  
+  install lib/{libGLcore.so.${pkgver},libGL.so.${pkgver},tls/libnvidia-tls.so.${pkgver}} \
+       $startdir/pkg/usr/lib/ || return 1
+  install X11R6/lib/libXv* $startdir/pkg/usr/lib/ || return 1
+  install -m644 share/applications/nvidia-settings.desktop $startdir/pkg/usr/share/applications/ || return 1
+  # fix nvidia .desktop file
+  sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $startdir/pkg/usr/share/applications/nvidia-settings.desktop
+  install -m644 share/pixmaps/nvidia-settings.png $startdir/pkg/usr/share/pixmaps/ || return 1
+  install X11R6/lib/modules/drivers/nvidia_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers || return 1
+  install X11R6/lib/modules/extensions/libglx.so.$pkgver $startdir/pkg/usr/lib/xorg/modules/extensions || return 1
+  install -m755 bin/nvidia-{settings,bug-report.sh} $startdir/pkg/usr/bin/ || return 1
+  cd $startdir/pkg/usr/lib/
+  ln -s /usr/lib/libGL.so.$pkgver libGL.so || return 1
+  ln -s /usr/lib/libGL.so.$pkgver libGL.so.1 || return 1
+  ln -s /usr/lib/libGLcore.so.$pkgver libGLcore.so.1 || return 1
+  ln -s /usr/lib/libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1
+  cd $startdir/pkg/usr/lib/xorg/modules/extensions
+  ln -s /usr/lib/xorg/modules/extensions/libglx.so.$pkgver libglx.so || return 1
+
+  install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $startdir/pkg/usr/share/licenses/nvidia-71xx/ || return 1
+  install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README $startdir/pkg/usr/share/doc/nvidia/README || return 1
+  install -D -m644 $startdir/src/supported-cards.txt $startdir/pkg/usr/share/doc/nvidia/supported-cards.txt || return 1
+  
+  find $startdir/pkg/usr -type d -exec chmod 755 {} \;
+  # phew :)
+}
diff --git a/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install b/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install
new file mode 100644
index 0000000..cea8f32
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install
@@ -0,0 +1,29 @@
+# arg 1:  the new package version
+post_install() {
+
+  echo -------------------------------
+  echo By using this package you accept the NVIDIA license, 
+  echo which has been installed in /usr/share/licenses/nvidia-71xx/LICENSE
+  echo If you do not accept this license, you must remove the package immediately.
+  echo Dont forget to update your /etc/X11/xorg.conf
+  echo In order to use nvidia-settings, you need to install 'gtk2' package.
+  echo -------------------------------
+
+  ### removing outdated workaround
+  if grep 'create-nvidia-nodes.sh' /etc/modprobe.conf >/dev/null 2>&1; then 
+     cat /etc/modprobe.conf | grep -v 'create-nvidia-nodes.sh' \
+     >/tmp/.pacnvidia
+     mv /tmp/.pacnvidia /etc/modprobe.conf
+     chmod 644 etc/modprobe.conf
+  fi
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install $1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-71xx-utils/supported-cards.txt b/abs/core-testing/nvidia-71xx-utils/supported-cards.txt
new file mode 100644
index 0000000..d4f26ea
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/supported-cards.txt
@@ -0,0 +1,236 @@
+Archlinux currently manages three branches of the NVIDIA binary driver:
+
+nvidia (latest nvidia release)
+nvidia-96xx (96xx legacy branch)
+nvidia-71xx (71xx legacy branch)
+
+This excerpt from the NVIDIA 1.0.9746 README lists the supported devices
+for each of those:
+
+______________________________________________________________________________
+
+Appendix A. Supported NVIDIA Graphics Chips
+______________________________________________________________________________
+
+For the most complete and accurate listing of supported GPUs, please see the
+Supported Products List, available from the NVIDIA Linux x86 Graphics Driver
+download page. Please go to http://www.nvidia.com/object/unix.html, follow the
+Archive link under the Linux x86 heading, follow the link for the 1.0-9746
+driver, and then go to the Supported Products List.
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    GeForce 6800 Ultra                    0x0040
+    GeForce 6800                          0x0041
+    GeForce 6800 XE                       0x0043
+    GeForce 6800 XT                       0x0044
+    GeForce 6800 GT                       0x0045
+    GeForce 6800 GT                       0x0046
+    GeForce 6800 GS                       0x0047
+    GeForce 6800 XT                       0x0048
+    Quadro FX 4000                        0x004E
+    GeForce 7800 GTX                      0x0090
+    GeForce 7800 GTX                      0x0091
+    GeForce 7800 GT                       0x0092
+    GeForce 7800 GS                       0x0093
+    GeForce Go 7800                       0x0098
+    GeForce Go 7800 GTX                   0x0099
+    Quadro FX 4500                        0x009D
+    GeForce 6800 GS                       0x00C0
+    GeForce 6800                          0x00C1
+    GeForce 6800 LE                       0x00C2
+    GeForce 6800 XT                       0x00C3
+    GeForce Go 6800                       0x00C8
+    GeForce Go 6800 Ultra                 0x00C9
+    Quadro FX Go1400                      0x00CC
+    Quadro FX 3450/4000 SDI               0x00CD
+    Quadro FX 1400                        0x00CE
+    GeForce 6800 Ultra/GeForce 6800       0x00F0
+    GeForce 6600 GT                       0x00F1
+    GeForce 6600                          0x00F2
+    GeForce 6200                          0x00F3
+    GeForce 6600 LE                       0x00F4
+    GeForce 7800 GS                       0x00F5
+    GeForce 6800 GS                       0x00F6
+    Quadro FX 3400/4400                   0x00F8
+    GeForce 6800 Ultra                    0x00F9
+    GeForce PCX 5750                      0x00FA
+    GeForce PCX 5900                      0x00FB
+    GeForce PCX 5300/Quadro FX 330        0x00FC
+    Quadro NVS 280 PCI-E/Quadro FX 330    0x00FD
+    Quadro FX 1300                        0x00FE
+    GeForce PCX 4300                      0x00FF
+    GeForce 6600 GT                       0x0140
+    GeForce 6600                          0x0141
+    GeForce 6600 LE                       0x0142
+    GeForce 6600 VE                       0x0143
+    GeForce Go 6600                       0x0144
+    GeForce 6610 XL                       0x0145
+    GeForce Go 6600 TE/6200 TE            0x0146
+    GeForce 6700 XL                       0x0147
+    GeForce Go 6600                       0x0148
+    GeForce Go 6600 GT                    0x0149
+    Quadro NVS 440                        0x014A
+    Quadro FX 550                         0x014C
+    Quadro FX 540                         0x014E
+    GeForce 6200                          0x014F
+    GeForce 6500                          0x0160
+    GeForce 6200 TurboCache(TM)           0x0161
+    GeForce 6200 LE                       0x0163
+    GeForce Go 6200                       0x0164
+    Quadro NVS 285                        0x0165
+    GeForce Go 6400                       0x0166
+    GeForce Go 6200                       0x0167
+    GeForce Go 6400                       0x0168
+    GeForce 8800 GTX                      0x0191
+    GeForce 8800 GTS                      0x0193
+    GeForce 7300 LE                       0x01D1
+    GeForce 7300 SE                       0x01D3
+    Quadro NVS 110M/GeForce Go 7300       0x01D7
+    GeForce Go 7400                       0x01D8
+    Quadro NVS 110M                       0x01DA
+    Quadro NVS 120M                       0x01DB
+    Quadro FX 350M                        0x01DC
+    Quadro FX 350                         0x01DE
+    GeForce 7300 GS                       0x01DF
+    GeForce 6800                          0x0211
+    GeForce 6800 LE                       0x0212
+    GeForce 6800 GT                       0x0215
+    GeForce 6800 XT                       0x0218
+    GeForce 6200                          0x0221
+    GeForce 6150                          0x0240
+    GeForce 6150 LE                       0x0241
+    GeForce 6100                          0x0242
+    GeForce Go 6100                       0x0247
+    GeForce 7900 GTX                      0x0290
+    GeForce 7900 GT/GTO                   0x0291
+    GeForce 7900 GS                       0x0292
+    GeForce 7950 GX2                      0x0294
+    GeForce Go 7900 GS                    0x0298
+    GeForce Go 7900 GTX                   0x0299
+    Quadro FX 2500M                       0x029A
+    Quadro FX 1500M                       0x029B
+    Quadro FX 5500                        0x029C
+    Quadro FX 3500M                       0x029D
+    Quadro FX 1500                        0x029E
+    Quadro FX 4500 X2                     0x029F
+    GeForce 7600 GS                       0x02E1
+    GeForce FX 5800 Ultra                 0x0301
+    GeForce FX 5800                       0x0302
+    Quadro FX 2000                        0x0308
+    Quadro FX 1000                        0x0309
+    GeForce FX 5600 Ultra                 0x0311
+    GeForce FX 5600                       0x0312
+    GeForce FX 5600XT                     0x0314
+    GeForce FX Go5600                     0x031A
+    GeForce FX Go5650                     0x031B
+    Quadro FX Go700                       0x031C
+    GeForce FX 5200                       0x0320
+    GeForce FX 5200 Ultra                 0x0321
+    GeForce FX 5200                       0x0322
+    GeForce FX 5200LE                     0x0323
+    GeForce FX Go5200                     0x0324
+    GeForce FX Go5250                     0x0325
+    GeForce FX 5500                       0x0326
+    GeForce FX 5100                       0x0327
+    GeForce FX Go5200 32M/64M             0x0328
+    Quadro NVS 55/280 PCI                 0x032A
+    Quadro FX 500/FX 600                  0x032B
+    GeForce FX Go53xx                     0x032C
+    GeForce FX Go5100                     0x032D
+    GeForce FX 5900 Ultra                 0x0330
+    GeForce FX 5900                       0x0331
+    GeForce FX 5900XT                     0x0332
+    GeForce FX 5950 Ultra                 0x0333
+    GeForce FX 5900ZT                     0x0334
+    Quadro FX 3000                        0x0338
+    Quadro FX 700                         0x033F
+    GeForce FX 5700 Ultra                 0x0341
+    GeForce FX 5700                       0x0342
+    GeForce FX 5700LE                     0x0343
+    GeForce FX 5700VE                     0x0344
+    GeForce FX Go5700                     0x0347
+    GeForce FX Go5700                     0x0348
+    Quadro FX Go1000                      0x034C
+    Quadro FX 1100                        0x034E
+    GeForce 7600 GT                       0x0391
+    GeForce 7600 GS                       0x0392
+    GeForce 7300 GT                       0x0393
+    GeForce Go 7600                       0x0398
+    Quadro FX 560                         0x039E
+
+
+Below are the legacy GPUs that are no longer supported in the unified driver.
+These GPUs will continue to be maintained through the special legacy NVIDIA
+GPU driver releases.
+
+The 1.0-96xx driver supports the following set of GPUs:
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    GeForce2 MX/MX 400                    0x0110
+    GeForce2 MX 100/200                   0x0111
+    GeForce2 Go                           0x0112
+    Quadro2 MXR/EX/Go                     0x0113
+    GeForce4 MX 460                       0x0170
+    GeForce4 MX 440                       0x0171
+    GeForce4 MX 420                       0x0172
+    GeForce4 MX 440-SE                    0x0173
+    GeForce4 440 Go                       0x0174
+    GeForce4 420 Go                       0x0175
+    GeForce4 420 Go 32M                   0x0176
+    GeForce4 460 Go                       0x0177
+    Quadro4 550 XGL                       0x0178
+    GeForce4 440 Go 64M                   0x0179
+    Quadro NVS                            0x017A
+    Quadro4 500 GoGL                      0x017C
+    GeForce4 410 Go 16M                   0x017D
+    GeForce4 MX 440 with AGP8X            0x0181
+    GeForce4 MX 440SE with AGP8X          0x0182
+    GeForce4 MX 420 with AGP8X            0x0183
+    GeForce4 MX 4000                      0x0185
+    Quadro4 580 XGL                       0x0188
+    Quadro NVS 280 SD                     0x018A
+    Quadro4 380 XGL                       0x018B
+    Quadro NVS 50 PCI                     0x018C
+    GeForce2 Integrated GPU               0x01A0
+    GeForce4 MX Integrated GPU            0x01F0
+    GeForce3                              0x0200
+    GeForce3 Ti 200                       0x0201
+    GeForce3 Ti 500                       0x0202
+    Quadro DCC                            0x0203
+    GeForce4 Ti 4600                      0x0250
+    GeForce4 Ti 4400                      0x0251
+    GeForce4 Ti 4200                      0x0253
+    Quadro4 900 XGL                       0x0258
+    Quadro4 750 XGL                       0x0259
+    Quadro4 700 XGL                       0x025B
+    GeForce4 Ti 4800                      0x0280
+    GeForce4 Ti 4200 with AGP8X           0x0281
+    GeForce4 Ti 4800 SE                   0x0282
+    GeForce4 4200 Go                      0x0286
+    Quadro4 980 XGL                       0x0288
+    Quadro4 780 XGL                       0x0289
+    Quadro4 700 GoGL                      0x028C
+
+
+The 1.0-71xx driver supports the following set of GPUs:
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    RIVA TNT                              0x0020
+    RIVA TNT2/TNT2 Pro                    0x0028
+    RIVA TNT2 Ultra                       0x0029
+    Vanta/Vanta LT                        0x002C
+    RIVA TNT2 Model 64/Model 64 Pro       0x002D
+    Aladdin TNT2                          0x00A0
+    GeForce 256                           0x0100
+    GeForce DDR                           0x0101
+    Quadro                                0x0103
+    GeForce2 GTS/GeForce2 Pro             0x0150
+    GeForce2 Ti                           0x0151
+    GeForce2 Ultra                        0x0152
+    Quadro2 Pro                           0x0153
diff --git a/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch b/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch
new file mode 100644
index 0000000..1ba936b
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_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
+ }
+ 
+ /*******************************************************************************/
diff --git a/abs/core-testing/nvidia-71xx/PKGBUILD b/abs/core-testing/nvidia-71xx/PKGBUILD
new file mode 100644
index 0000000..e879abe
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 14777 2008-10-10 15:34:50Z thomas $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=nvidia-71xx
+pkgver=71.86.06
+_kernver='2.6.26-ARCH'
+pkgrel=3
+pkgdesc="NVIDIA legacy drivers for kernel26, 71xx branch"
+arch=(i686 x86_64)
+[ "$CARCH" = "i686"   ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('nvidia-71xx-utils' 'kernel26>=2.6.26' 'kernel26<2.6.28')
+conflicts=('nvidia' 'nvidia-96xx' 'nvidia-legacy')
+replaces=('nvidia-legacy')
+license=('custom')
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run
+        NVIDIA_173.14.12_2.6.27.patch)
+install="nvidia-71xx.install"
+md5sums=('61e4511d1bbb2962ca139091210b61ea'
+         'cd4a68b5a88be6976b90cd0df6bfe89e')
+[ "$CARCH" = "x86_64" ] && md5sums=('205599549ddd6fadecfbc1adb090dfe2'
+                                    'cd4a68b5a88be6976b90cd0df6bfe89e')
+
+build() {  
+  cd $startdir/src 
+
+  # Extract
+  cd $startdir/src/
+  sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+  cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0
+
+  # Any extra patches are applied in here...
+  patch -Np1 -i ../NVIDIA_173.14.12_2.6.27.patch || return 1
+
+  cd usr/src/nv/
+  ln -s Makefile.kbuild Makefile
+  make SYSSRC=/lib/modules/$_kernver/build module || return 1
+  
+  # install kernel module
+  mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
+  install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/ || return 1
+
+  sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+}
diff --git a/abs/core-testing/nvidia-71xx/nvidia-71xx.install b/abs/core-testing/nvidia-71xx/nvidia-71xx.install
new file mode 100644
index 0000000..18b7435
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/nvidia-71xx.install
@@ -0,0 +1,23 @@
+# arg 1:  the new package version
+post_install() {
+  KERNEL_VERSION='2.6.26-ARCH'
+  depmod -v $KERNEL_VERSION  > /dev/null 2>&1		 
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install $1
+  rmmod nvidia >/dev/null 2>&1 || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+# arg 1:  the old package version
+post_remove() {
+  KERNEL_VERSION='2.6.26-ARCH'
+  depmod -v $KERNEL_VERSION	 > /dev/null 2>&1
+  rmmod nvidia >/dev/null 2>&1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-96xx-utils/PKGBUILD b/abs/core-testing/nvidia-96xx-utils/PKGBUILD
new file mode 100644
index 0000000..b745a3c
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 5959 2008-07-21 20:38:14Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: James Rayner <iphitus@gmail.com>
+
+pkgname=nvidia-96xx-utils
+pkgver=96.43.07
+pkgrel=1
+pkgdesc="NVIDIA legacy drivers utilities and libraries, 96xx branch."
+arch=(i686 x86_64)
+license=('custom')
+[ "$CARCH" = "i686"   ] && ARCH=x86 	 
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('xorg-server')
+conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-utils' \
+           'nvidia-71xx-utils' 'nvidia-legacy-utils')
+provides=('libgl')
+install=nvidia-96xx.install
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run \
+        supported-cards.txt)
+md5sums=('8fa2b7c5e4629850d4bd33033ec46166'
+         '6363d7e494d33729609540088e33e73f')
+[ "$CARCH" = "x86_64" ] && md5sums=('c03bd2469292d91dde8767af1418c4e1'
+         '6363d7e494d33729609540088e33e73f')
+options=(docs !strip)
+
+build()
+{
+  # override nvida install routine and do it the long way.
+  cd $startdir/src/
+  sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+  cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
+
+  mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps,man/man1}
+  mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
+  mkdir -p $startdir/pkg/usr/share/licenses/nvidia-96xx/
+  
+  install lib/{libGLcore.so.${pkgver},libGL.so.${pkgver},libnvidia-cfg.so.${pkgver},tls/libnvidia-tls.so.${pkgver}} \
+       $startdir/pkg/usr/lib/ || return 1
+  install -m644 share/man/man1/* $startdir/pkg/usr/man/man1/ || return 1
+  rm $startdir/pkg/usr/man/man1/nvidia-installer.1.gz || return 1
+  install X11R6/lib/libXv* $startdir/pkg/usr/lib/ || return 1
+  install -m644 share/applications/nvidia-settings.desktop $startdir/pkg/usr/share/applications/ || return 1
+  # fix nvidia .desktop file
+  sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $startdir/pkg/usr/share/applications/nvidia-settings.desktop
+  install -m644 share/pixmaps/nvidia-settings.png $startdir/pkg/usr/share/pixmaps/ || return 1
+  install X11R6/lib/modules/drivers/nvidia_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers || return 1
+  install X11R6/lib/modules/extensions/libglx.so.$pkgver $startdir/pkg/usr/lib/xorg/modules/extensions || return 1
+  install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $startdir/pkg/usr/bin/ || return 1
+  cd $startdir/pkg/usr/lib/
+  ln -s /usr/lib/libGL.so.$pkgver libGL.so || return 1
+  ln -s /usr/lib/libGL.so.$pkgver libGL.so.1 || return 1
+  ln -s /usr/lib/libGLcore.so.$pkgver libGLcore.so.1 || return 1
+  ln -s /usr/lib/libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1 || return 1
+  ln -s /usr/lib/libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1
+  cd $startdir/pkg/usr/lib/xorg/modules/extensions
+  ln -s /usr/lib/xorg/modules/extensions/libglx.so.$pkgver libglx.so || return 1
+
+  install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $startdir/pkg/usr/share/licenses/nvidia-96xx/ || return 1
+  install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README.txt $startdir/pkg/usr/share/doc/nvidia/README || return 1
+  install -D -m644 $startdir/src/supported-cards.txt $startdir/pkg/usr/share/doc/nvidia/supported-cards.txt || return 1
+  
+  find $startdir/pkg/usr -type d -exec chmod 755 {} \;
+  # phew :)
+}
diff --git a/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install b/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install
new file mode 100644
index 0000000..bb1fff2
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install
@@ -0,0 +1,22 @@
+# arg 1:  the new package version
+post_install() {
+
+  echo -------------------------------
+  echo By using this package you accept the NVIDIA license, 
+  echo which has been installed in /usr/share/licenses/nvidia/LICENSE
+  echo If you do not accept this license, you must remove the package immediately.
+  echo Dont forget to update your /etc/X11/xorg.conf
+  echo In order to use nvidia-settings, you need to install 'gtk2' package.
+  echo -------------------------------
+	 
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install $1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-96xx-utils/supported-cards.txt b/abs/core-testing/nvidia-96xx-utils/supported-cards.txt
new file mode 100644
index 0000000..d4f26ea
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/supported-cards.txt
@@ -0,0 +1,236 @@
+Archlinux currently manages three branches of the NVIDIA binary driver:
+
+nvidia (latest nvidia release)
+nvidia-96xx (96xx legacy branch)
+nvidia-71xx (71xx legacy branch)
+
+This excerpt from the NVIDIA 1.0.9746 README lists the supported devices
+for each of those:
+
+______________________________________________________________________________
+
+Appendix A. Supported NVIDIA Graphics Chips
+______________________________________________________________________________
+
+For the most complete and accurate listing of supported GPUs, please see the
+Supported Products List, available from the NVIDIA Linux x86 Graphics Driver
+download page. Please go to http://www.nvidia.com/object/unix.html, follow the
+Archive link under the Linux x86 heading, follow the link for the 1.0-9746
+driver, and then go to the Supported Products List.
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    GeForce 6800 Ultra                    0x0040
+    GeForce 6800                          0x0041
+    GeForce 6800 XE                       0x0043
+    GeForce 6800 XT                       0x0044
+    GeForce 6800 GT                       0x0045
+    GeForce 6800 GT                       0x0046
+    GeForce 6800 GS                       0x0047
+    GeForce 6800 XT                       0x0048
+    Quadro FX 4000                        0x004E
+    GeForce 7800 GTX                      0x0090
+    GeForce 7800 GTX                      0x0091
+    GeForce 7800 GT                       0x0092
+    GeForce 7800 GS                       0x0093
+    GeForce Go 7800                       0x0098
+    GeForce Go 7800 GTX                   0x0099
+    Quadro FX 4500                        0x009D
+    GeForce 6800 GS                       0x00C0
+    GeForce 6800                          0x00C1
+    GeForce 6800 LE                       0x00C2
+    GeForce 6800 XT                       0x00C3
+    GeForce Go 6800                       0x00C8
+    GeForce Go 6800 Ultra                 0x00C9
+    Quadro FX Go1400                      0x00CC
+    Quadro FX 3450/4000 SDI               0x00CD
+    Quadro FX 1400                        0x00CE
+    GeForce 6800 Ultra/GeForce 6800       0x00F0
+    GeForce 6600 GT                       0x00F1
+    GeForce 6600                          0x00F2
+    GeForce 6200                          0x00F3
+    GeForce 6600 LE                       0x00F4
+    GeForce 7800 GS                       0x00F5
+    GeForce 6800 GS                       0x00F6
+    Quadro FX 3400/4400                   0x00F8
+    GeForce 6800 Ultra                    0x00F9
+    GeForce PCX 5750                      0x00FA
+    GeForce PCX 5900                      0x00FB
+    GeForce PCX 5300/Quadro FX 330        0x00FC
+    Quadro NVS 280 PCI-E/Quadro FX 330    0x00FD
+    Quadro FX 1300                        0x00FE
+    GeForce PCX 4300                      0x00FF
+    GeForce 6600 GT                       0x0140
+    GeForce 6600                          0x0141
+    GeForce 6600 LE                       0x0142
+    GeForce 6600 VE                       0x0143
+    GeForce Go 6600                       0x0144
+    GeForce 6610 XL                       0x0145
+    GeForce Go 6600 TE/6200 TE            0x0146
+    GeForce 6700 XL                       0x0147
+    GeForce Go 6600                       0x0148
+    GeForce Go 6600 GT                    0x0149
+    Quadro NVS 440                        0x014A
+    Quadro FX 550                         0x014C
+    Quadro FX 540                         0x014E
+    GeForce 6200                          0x014F
+    GeForce 6500                          0x0160
+    GeForce 6200 TurboCache(TM)           0x0161
+    GeForce 6200 LE                       0x0163
+    GeForce Go 6200                       0x0164
+    Quadro NVS 285                        0x0165
+    GeForce Go 6400                       0x0166
+    GeForce Go 6200                       0x0167
+    GeForce Go 6400                       0x0168
+    GeForce 8800 GTX                      0x0191
+    GeForce 8800 GTS                      0x0193
+    GeForce 7300 LE                       0x01D1
+    GeForce 7300 SE                       0x01D3
+    Quadro NVS 110M/GeForce Go 7300       0x01D7
+    GeForce Go 7400                       0x01D8
+    Quadro NVS 110M                       0x01DA
+    Quadro NVS 120M                       0x01DB
+    Quadro FX 350M                        0x01DC
+    Quadro FX 350                         0x01DE
+    GeForce 7300 GS                       0x01DF
+    GeForce 6800                          0x0211
+    GeForce 6800 LE                       0x0212
+    GeForce 6800 GT                       0x0215
+    GeForce 6800 XT                       0x0218
+    GeForce 6200                          0x0221
+    GeForce 6150                          0x0240
+    GeForce 6150 LE                       0x0241
+    GeForce 6100                          0x0242
+    GeForce Go 6100                       0x0247
+    GeForce 7900 GTX                      0x0290
+    GeForce 7900 GT/GTO                   0x0291
+    GeForce 7900 GS                       0x0292
+    GeForce 7950 GX2                      0x0294
+    GeForce Go 7900 GS                    0x0298
+    GeForce Go 7900 GTX                   0x0299
+    Quadro FX 2500M                       0x029A
+    Quadro FX 1500M                       0x029B
+    Quadro FX 5500                        0x029C
+    Quadro FX 3500M                       0x029D
+    Quadro FX 1500                        0x029E
+    Quadro FX 4500 X2                     0x029F
+    GeForce 7600 GS                       0x02E1
+    GeForce FX 5800 Ultra                 0x0301
+    GeForce FX 5800                       0x0302
+    Quadro FX 2000                        0x0308
+    Quadro FX 1000                        0x0309
+    GeForce FX 5600 Ultra                 0x0311
+    GeForce FX 5600                       0x0312
+    GeForce FX 5600XT                     0x0314
+    GeForce FX Go5600                     0x031A
+    GeForce FX Go5650                     0x031B
+    Quadro FX Go700                       0x031C
+    GeForce FX 5200                       0x0320
+    GeForce FX 5200 Ultra                 0x0321
+    GeForce FX 5200                       0x0322
+    GeForce FX 5200LE                     0x0323
+    GeForce FX Go5200                     0x0324
+    GeForce FX Go5250                     0x0325
+    GeForce FX 5500                       0x0326
+    GeForce FX 5100                       0x0327
+    GeForce FX Go5200 32M/64M             0x0328
+    Quadro NVS 55/280 PCI                 0x032A
+    Quadro FX 500/FX 600                  0x032B
+    GeForce FX Go53xx                     0x032C
+    GeForce FX Go5100                     0x032D
+    GeForce FX 5900 Ultra                 0x0330
+    GeForce FX 5900                       0x0331
+    GeForce FX 5900XT                     0x0332
+    GeForce FX 5950 Ultra                 0x0333
+    GeForce FX 5900ZT                     0x0334
+    Quadro FX 3000                        0x0338
+    Quadro FX 700                         0x033F
+    GeForce FX 5700 Ultra                 0x0341
+    GeForce FX 5700                       0x0342
+    GeForce FX 5700LE                     0x0343
+    GeForce FX 5700VE                     0x0344
+    GeForce FX Go5700                     0x0347
+    GeForce FX Go5700                     0x0348
+    Quadro FX Go1000                      0x034C
+    Quadro FX 1100                        0x034E
+    GeForce 7600 GT                       0x0391
+    GeForce 7600 GS                       0x0392
+    GeForce 7300 GT                       0x0393
+    GeForce Go 7600                       0x0398
+    Quadro FX 560                         0x039E
+
+
+Below are the legacy GPUs that are no longer supported in the unified driver.
+These GPUs will continue to be maintained through the special legacy NVIDIA
+GPU driver releases.
+
+The 1.0-96xx driver supports the following set of GPUs:
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    GeForce2 MX/MX 400                    0x0110
+    GeForce2 MX 100/200                   0x0111
+    GeForce2 Go                           0x0112
+    Quadro2 MXR/EX/Go                     0x0113
+    GeForce4 MX 460                       0x0170
+    GeForce4 MX 440                       0x0171
+    GeForce4 MX 420                       0x0172
+    GeForce4 MX 440-SE                    0x0173
+    GeForce4 440 Go                       0x0174
+    GeForce4 420 Go                       0x0175
+    GeForce4 420 Go 32M                   0x0176
+    GeForce4 460 Go                       0x0177
+    Quadro4 550 XGL                       0x0178
+    GeForce4 440 Go 64M                   0x0179
+    Quadro NVS                            0x017A
+    Quadro4 500 GoGL                      0x017C
+    GeForce4 410 Go 16M                   0x017D
+    GeForce4 MX 440 with AGP8X            0x0181
+    GeForce4 MX 440SE with AGP8X          0x0182
+    GeForce4 MX 420 with AGP8X            0x0183
+    GeForce4 MX 4000                      0x0185
+    Quadro4 580 XGL                       0x0188
+    Quadro NVS 280 SD                     0x018A
+    Quadro4 380 XGL                       0x018B
+    Quadro NVS 50 PCI                     0x018C
+    GeForce2 Integrated GPU               0x01A0
+    GeForce4 MX Integrated GPU            0x01F0
+    GeForce3                              0x0200
+    GeForce3 Ti 200                       0x0201
+    GeForce3 Ti 500                       0x0202
+    Quadro DCC                            0x0203
+    GeForce4 Ti 4600                      0x0250
+    GeForce4 Ti 4400                      0x0251
+    GeForce4 Ti 4200                      0x0253
+    Quadro4 900 XGL                       0x0258
+    Quadro4 750 XGL                       0x0259
+    Quadro4 700 XGL                       0x025B
+    GeForce4 Ti 4800                      0x0280
+    GeForce4 Ti 4200 with AGP8X           0x0281
+    GeForce4 Ti 4800 SE                   0x0282
+    GeForce4 4200 Go                      0x0286
+    Quadro4 980 XGL                       0x0288
+    Quadro4 780 XGL                       0x0289
+    Quadro4 700 GoGL                      0x028C
+
+
+The 1.0-71xx driver supports the following set of GPUs:
+
+
+    NVIDIA chip name                      Device PCI ID
+    ----------------------------------    ----------------------------------
+    RIVA TNT                              0x0020
+    RIVA TNT2/TNT2 Pro                    0x0028
+    RIVA TNT2 Ultra                       0x0029
+    Vanta/Vanta LT                        0x002C
+    RIVA TNT2 Model 64/Model 64 Pro       0x002D
+    Aladdin TNT2                          0x00A0
+    GeForce 256                           0x0100
+    GeForce DDR                           0x0101
+    Quadro                                0x0103
+    GeForce2 GTS/GeForce2 Pro             0x0150
+    GeForce2 Ti                           0x0151
+    GeForce2 Ultra                        0x0152
+    Quadro2 Pro                           0x0153
diff --git a/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch b/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
new file mode 100644
index 0000000..1ba936b
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_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
+ }
+ 
+ /*******************************************************************************/
diff --git a/abs/core-testing/nvidia-96xx/PKGBUILD b/abs/core-testing/nvidia-96xx/PKGBUILD
new file mode 100644
index 0000000..3ccbbfe
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 14780 2008-10-10 15:35:36Z thomas $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=nvidia-96xx
+pkgver=96.43.07
+_kernver='2.6.26-ARCH'
+pkgrel=6
+pkgdesc="NVIDIA legacy drivers for kernel26, 96xx branch"
+arch=(i686 x86_64)
+license=('custom:NVIDIA')
+[ "$CARCH" = "i686"   ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('kernel26>=2.6.26' 'kernel26<2.6.28' 'nvidia-96xx-utils')
+conflicts=('nvidia' 'nvidia-71xx' 'nvidia-legacy')
+install=nvidia-96xx.install
+license=('custom')
+source=(http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run
+        NVIDIA_173.14.12_2.6.27.patch)
+md5sums=('8fa2b7c5e4629850d4bd33033ec46166'
+         'cd4a68b5a88be6976b90cd0df6bfe89e')
+[ "$CARCH" = "x86_64" ] && md5sums=('c03bd2469292d91dde8767af1418c4e1'
+                                    'cd4a68b5a88be6976b90cd0df6bfe89e')
+
+build()
+{
+  # Extract
+  cd $startdir/src/
+  sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
+  cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
+  
+  # Any extra patches are applied in here...
+  patch -Np1 -i ../NVIDIA_173.14.12_2.6.27.patch || return 1
+
+  cd usr/src/nv/
+  ln -s Makefile.kbuild Makefile
+  make SYSSRC=/lib/modules/$_kernver/build module || return 1
+  
+  # install kernel module
+  mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
+  install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/ || return 1
+
+  sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+}
diff --git a/abs/core-testing/nvidia-96xx/nvidia-96xx.install b/abs/core-testing/nvidia-96xx/nvidia-96xx.install
new file mode 100644
index 0000000..dbbec39
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/nvidia-96xx.install
@@ -0,0 +1,22 @@
+# arg 1:  the new package version
+post_install() {
+  KERNEL_VERSION='2.6.26-ARCH'
+  depmod -v $KERNEL_VERSION  > /dev/null 2>&1		 
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install $1
+  rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+# arg 1:  the old package version
+post_remove() {
+  KERNEL_VERSION='2.6.26-ARCH'
+  depmod -v $KERNEL_VERSION	 > /dev/null 2>&1	 
+}
+
+op=$1
+shift
+$op $*
-- 
cgit v0.12