Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=dex77testing2.git;a=commitdiff;h=1b0210edbc46614d351192fa2f6ebfcf1fe5223c
commit 1b0210edbc46614d351192fa2f6ebfcf1fe5223c Author: James Buren <[email protected]> Date: Sun May 24 14:53:39 2015 +0200 nvidia-304.125-2-x86_64 * rebuild with new kernel * fix build with various patches diff --git a/source/x11-extra/nvidia/FrugalBuild b/source/x11-extra/nvidia/FrugalBuild index 12b30f5..25cfb48 100644 --- a/source/x11-extra/nvidia/FrugalBuild +++ b/source/x11-extra/nvidia/FrugalBuild @@ -3,7 +3,7 @@ pkgname=nvidia pkgver=304.125 -pkgrel=1 +pkgrel=2 archs=('i686' 'x86_64') _F_kernelmod_scriptlet=nvidia.install Finclude kernel-module @@ -37,15 +37,22 @@ esac source=("${source[@]}" \ modprobe-nvidia.conf \ - xorg-nvidia.conf) + xorg-nvidia.conf \ + kernel-3.18.patch \ + kernel-3.19.patch \ + kernel-4.0.patch) sha1sums=("${sha1sums[@]}" \ 'a2bf63eb7dffdfc9268534654d3864e865af6834' \ - '15455cb16a6638ee348dc01620c7f64234178ac8') + '15455cb16a6638ee348dc01620c7f64234178ac8' \ + 'f0798ef2269fa4257a754ecc86fd1632774b188c' \ + '15b58e8f8f7172874bdca3f5cf66d3339eae86ad' \ + 'c514894d29e1e2b6418ed4b187b31dfd1af32a4c') build () { cd $Fsrcdir - sh $_F_nvidia_name.run --extract-only + rm -rf ${_F_nvidia_name} || Fdie + sh $_F_nvidia_name.run --extract-only || Fdie Fcd . diff --git a/source/x11-extra/nvidia/kernel-3.18.patch b/source/x11-extra/nvidia/kernel-3.18.patch new file mode 100644 index 0000000..4c6a393 --- /dev/null +++ b/source/x11-extra/nvidia/kernel-3.18.patch @@ -0,0 +1,27 @@ +--- kernel/nv-drm.c~ 2014-09-12 00:33:06.000000000 +0200 ++++ kernel/nv-drm.c 2014-10-14 11:35:52.854400737 +0200 +@@ -18,6 +18,11 @@ + + #include <drm/drmP.h> + ++/* 3.18-rc0+ */ ++#ifndef drm_gem_object ++#include <drm/drm_gem.h> ++#endif ++ + extern nv_linux_state_t *nv_linux_devices; + + struct nv_gem_object { +diff --git a/kernel/nv-drm.c~ b/kernel/nv-drm.c +index ecc982a..60d7aae 100644 +--- kernel/nv-drm.c~ ++++ kernel/nv-drm.c +@@ -129,6 +129,8 @@ static struct drm_driver nv_drm_driver = { + .gem_prime_vmap = nv_gem_prime_vmap, + .gem_prime_vunmap = nv_gem_prime_vunmap, + ++ .set_busid = drm_pci_set_busid, ++ + .name = "nvidia-drm", + .desc = "NVIDIA DRM driver", + .date = "20130102", diff --git a/source/x11-extra/nvidia/kernel-3.19.patch b/source/x11-extra/nvidia/kernel-3.19.patch new file mode 100644 index 0000000..b3d0b2e --- /dev/null +++ b/source/x11-extra/nvidia/kernel-3.19.patch @@ -0,0 +1,21 @@ +diff -Npur NVIDIA-Linux-x86_64-304.orig/kernel/nv.c NVIDIA-Linux-x86_64-304.125-no-compat32/kernel/nv.c +--- NVIDIA-Linux-x86_64-304.orig/kernel/nv.c 2014-12-02 04:58:34.000000000 +0100 ++++ NVIDIA-Linux-x86_64-304.125-no-compat32/kernel/nv.c 2014-12-21 17:50:33.420697348 +0100 +@@ -2026,7 +2026,7 @@ long nv_kern_unlocked_ioctl( + unsigned long i_arg + ) + { +- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); + } + + long nv_kern_compat_ioctl( +@@ -2035,7 +2035,7 @@ long nv_kern_compat_ioctl( + unsigned long i_arg + ) + { +- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); + } + + /* diff --git a/source/x11-extra/nvidia/kernel-4.0.patch b/source/x11-extra/nvidia/kernel-4.0.patch new file mode 100644 index 0000000..08fe499 --- /dev/null +++ b/source/x11-extra/nvidia/kernel-4.0.patch @@ -0,0 +1,23 @@ +diff -ur a/kernel/nv-pat.c b/kernel/nv-pat.c +--- a/kernel/nv-pat.c 2014-12-02 04:58:34.000000000 +0100 ++++ b/kernel/nv-pat.c 2015-05-24 14:45:51.197995761 +0200 +@@ -35,8 +35,8 @@ + unsigned long cr0 = read_cr0(); + write_cr0(((cr0 & (0xdfffffff)) | 0x40000000)); + wbinvd(); +- *cr4 = read_cr4(); +- if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80); ++ *cr4 = __read_cr4(); ++ if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80); + __flush_tlb(); + } + +@@ -46,7 +46,7 @@ + wbinvd(); + __flush_tlb(); + write_cr0((cr0 & 0x9fffffff)); +- if (cr4 & 0x80) write_cr4(cr4); ++ if (cr4 & 0x80) __write_cr4(cr4); + } + + static int nv_determine_pat_mode(void) _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
