[packages/xorg-driver-video-nvidia-legacy-390xx] - x86 and x8664 need different fixes for kernel 5.1 - rel 3

baggins baggins at pld-linux.org
Tue May 7 21:05:43 CEST 2019


commit e71ac6b1d6f956a4578eafcfa4cbceb74d634a20
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Tue May 7 21:04:50 2019 +0200

    - x86 and x8664 need different fixes for kernel 5.1
    - rel 3

 kernel-5.1-x8664.patch                     | 36 ++++++++++++++++++++++++++++++
 kernel-5.1.patch                           | 36 ------------------------------
 xorg-driver-video-nvidia-legacy-390xx.spec |  6 ++++-
 3 files changed, 41 insertions(+), 37 deletions(-)
---
diff --git a/xorg-driver-video-nvidia-legacy-390xx.spec b/xorg-driver-video-nvidia-legacy-390xx.spec
index d0784e6..991d514 100644
--- a/xorg-driver-video-nvidia-legacy-390xx.spec
+++ b/xorg-driver-video-nvidia-legacy-390xx.spec
@@ -33,7 +33,7 @@ exit 1
 
 %define		no_install_post_check_so 1
 
-%define		rel	2
+%define		rel	3
 %define		pname	xorg-driver-video-nvidia-legacy-390xx
 Summary:	Linux Drivers for nVidia GeForce/Quadro Chips
 Summary(hu.UTF-8):	Linux meghajtók nVidia GeForce/Quadro chipekhez
@@ -56,6 +56,7 @@ Source5:	10-nvidia-modules.conf
 Patch0:		X11-driver-nvidia-GL.patch
 Patch1:		X11-driver-nvidia-desktop.patch
 Patch2:		kernel-5.1.patch
+Patch3:		kernel-5.1-x8664.patch
 URL:		http://www.nvidia.com/object/unix.html
 BuildRequires:	rpmbuild(macros) >= 1.701
 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
@@ -270,6 +271,9 @@ rm -rf NVIDIA-Linux-x86*-%{version}*
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%ifarch %{x8664}
+%patch3 -p1
+%endif
 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
 
 %build
diff --git a/kernel-5.1-x8664.patch b/kernel-5.1-x8664.patch
new file mode 100644
index 0000000..5ec95f2
--- /dev/null
+++ b/kernel-5.1-x8664.patch
@@ -0,0 +1,36 @@
+--- NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-uvm/uvm8.c.orig	2019-01-27 17:12:22.000000000 +0100
++++ NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-uvm/uvm8.c	2019-05-07 20:36:42.676844249 +0200
+@@ -166,13 +166,21 @@
+ // If a fault handler is not set, paths like handle_pte_fault in older kernels
+ // assume the memory is anonymous. That would make debugging this failure harder
+ // so we force it to fail instead.
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
++static vm_fault_t uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
++#else
+ static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
++#endif
+ {
+     UVM_DBG_PRINT_RL("Fault to address 0x%lx in disabled vma\n", nv_page_fault_va(vmf));
+     return VM_FAULT_SIGBUS;
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
++static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
++#else
+ static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
++#endif
+ {
+ #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
+     return uvm_vm_fault_sigbus(vmf->vma, vmf);
+@@ -507,7 +515,11 @@
+     }
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
++static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf)
++#else
+ static int uvm_vm_fault_wrapper(struct vm_fault *vmf)
++#endif
+ {
+ #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
+     return uvm_vm_fault(vmf->vma, vmf);
diff --git a/kernel-5.1.patch b/kernel-5.1.patch
index cc43612..bc8eee0 100644
--- a/kernel-5.1.patch
+++ b/kernel-5.1.patch
@@ -21,42 +21,6 @@
 +#endif
  
  #endif // __NV_LIST_HELPERS_H__
---- NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-uvm/uvm8.c.orig	2019-01-27 17:12:22.000000000 +0100
-+++ NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-uvm/uvm8.c	2019-05-07 20:36:42.676844249 +0200
-@@ -166,13 +166,21 @@
- // If a fault handler is not set, paths like handle_pte_fault in older kernels
- // assume the memory is anonymous. That would make debugging this failure harder
- // so we force it to fail instead.
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
-+static vm_fault_t uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
-+#else
- static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
-+#endif
- {
-     UVM_DBG_PRINT_RL("Fault to address 0x%lx in disabled vma\n", nv_page_fault_va(vmf));
-     return VM_FAULT_SIGBUS;
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
-+static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
-+#else
- static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
-+#endif
- {
- #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
-     return uvm_vm_fault_sigbus(vmf->vma, vmf);
-@@ -507,7 +515,11 @@
-     }
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
-+static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf)
-+#else
- static int uvm_vm_fault_wrapper(struct vm_fault *vmf)
-+#endif
- {
- #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
-     return uvm_vm_fault(vmf->vma, vmf);
 --- NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c.orig	2019-01-27 17:12:27.000000000 +0100
 +++ NVIDIA-Linux-x86_64-390.116-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c	2019-05-07 20:39:24.748960946 +0200
 @@ -55,6 +55,11 @@
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-driver-video-nvidia-legacy-390xx.git/commitdiff/e71ac6b1d6f956a4578eafcfa4cbceb74d634a20



More information about the pld-cvs-commit mailing list