summarylogtreecommitdiffstats
path: root/nvidia-4.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nvidia-4.0.patch')
-rw-r--r--nvidia-4.0.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/nvidia-4.0.patch b/nvidia-4.0.patch
new file mode 100644
index 000000000000..905ebeaf3fde
--- /dev/null
+++ b/nvidia-4.0.patch
@@ -0,0 +1,28 @@
+--- kernel/nv-pat.c~ 2015-02-22 20:39:43.889075396 -0800
++++ kernel/nv-pat.c 2015-02-22 20:29:33.519735577 -0800
+@@ -35,8 +35,13 @@
+ unsigned long cr0 = read_cr0();
+ write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
+ wbinvd();
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)
++ *cr4 = __read_cr4();
++ if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
++#else
+ *cr4 = read_cr4();
+ if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
++#endif
+ __flush_tlb();
+ }
+
+@@ -46,7 +46,11 @@
+ wbinvd();
+ __flush_tlb();
+ write_cr0((cr0 & 0x9fffffff));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)
++ if (cr4 & 0x80) __write_cr4(cr4);
++#else
+ if (cr4 & 0x80) write_cr4(cr4);
++#endif
+ }
+
+ static int nv_determine_pat_mode(void)