diff -Naur a/nvidia-modules-common.mk b/nvidia-modules-common.mk | |
--- a/nvidia-modules-common.mk | |
+++ b/nvidia-modules-common.mk | |
@@ -222,6 +222,7 @@ | |
define BUILD_MODULE_RULE | |
$(1): build-sanity-checks $(3) | |
@echo "NVIDIA: calling KBUILD..."; \ | |
+ touch .nv-kernel.o.cmd; \ | |
$$(MAKE) "CC=$$(CC)" NV_MODULE_SUFFIX=$$(strip $(2)) $$(KBUILD_PARAMS) modules; \ | |
echo "NVIDIA: left KBUILD."; \ | |
if ! [ -f $(1) ]; then \ | |
diff -Naru a/nv-linux.h b/nv-linux.h | |
--- a/nv-linux.h 2020-08-08 03:48:46.894783237 +0300 | |
+++ b/nv-linux.h 2020-08-08 15:43:05.252047541 +0300 | |
@@ -669,11 +669,19 @@ | |
# define KM_FREE_RECORD(a,b,c) | |
#endif | |
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) | |
+#define NV_VMALLOC(ptr, size) \ | |
+ { \ | |
+ (ptr) = __vmalloc(size, GFP_KERNEL); \ | |
+ VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \ | |
+ } | |
+#else | |
#define NV_VMALLOC(ptr, size) \ | |
{ \ | |
(ptr) = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); \ | |
VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \ | |
} | |
+#endif | |
#define NV_VFREE(ptr, size) \ | |
{ \ | |
diff -Naru a/os-mlock.c b/os-mlock.c | |
--- a/os-mlock.c 2020-04-16 15:37:41.000000000 +0300 | |
+++ b/os-mlock.c 2020-08-08 15:47:44.793311179 +0300 | |
@@ -44,11 +44,19 @@ | |
return rmStatus; | |
} | |
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) | |
+ down_read(&mm->mmap_lock); | |
+ ret = NV_GET_USER_PAGES((unsigned long)address, | |
+ page_count, write, force, user_pages, NULL); | |
+ up_read(&mm->mmap_lock); | |
+ pinned = ret; | |
+#else | |
down_read(&mm->mmap_sem); | |
ret = NV_GET_USER_PAGES((unsigned long)address, | |
page_count, write, force, user_pages, NULL); | |
up_read(&mm->mmap_sem); | |
pinned = ret; | |
+#endif | |
if (ret < 0) | |
{ | |
diff -Naru a/uvm/nvidia_uvm_lite_api.c b/uvm/nvidia_uvm_lite_api.c | |
--- a/uvm/nvidia_uvm_lite_api.c 2020-04-16 15:37:41.000000000 +0300 | |
+++ b/uvm/nvidia_uvm_lite_api.c 2020-08-08 15:28:40.110186418 +0300 | |
@@ -30,6 +30,10 @@ | |
#include "uvm_gpu_ops_tests.h" | |
#endif | |
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) | |
+#define mmap_sem mmap_lock | |
+#endif | |
+ | |
// | |
// nvidia_uvm_lite_api.c | |
// |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment