Kernel – 4.20-rc1 Released – OK with VMware, not with NVIDIA, and possible fix?

Kernel 4.20-rc1 is out, and brief details are here:  http://lkml.iu.edu/hypermail/linux/kernel/1811.0/02531.html

VMware 15.0 installs OK, but the latest NVIDIA fails.. (410.73 with the pm patch, if needed):

........................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia/linux_nvswitch.c:1582:5: error: implicit declaration of function ‘time_to_tm’; did you mean ‘time64_to_tm’? [-Werror=implicit-function-declaration]
time_to_tm(time_nsec / NVSWITCH_NSEC_PER_SEC, 0, &t);
^~~~~~~~~~
time64_to_tm
.....................

I made the change to linux_nvswitch.c, and then:

............................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c:348:11: error: implicit declaration of function ‘vm_insert_pfn’; did you mean ‘vmf_insert_pfn’? [-Werror=implicit-function-declaration]
ret = vm_insert_pfn(vma, address, pfn + page_offset);
^~~~~~~~~~~~~
vmf_insert_pfn
...........................

Made that change, as well, and then the driver compiled/loaded OK:

..................................
ld -r -o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset/nv-modeset-interface.o /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset/nvidia-modeset-linux.o
Building modules, stage 2.
MODPOST 4 modules
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-drm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-modeset.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm.ko
CC /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia.mod.o
LD [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia.ko
make[2]: Leaving directory '/usr/src/linux-4.20-rc1'
make[1]: Leaving directory '/usr/src/linux-4.20-rc1'

But…   the compilation threw a lot of repeated ‘warnings’:

.......................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_kvmalloc_test.o
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_common.h:48,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_kvmalloc_test.c:24:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_pmm_test.o
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_common.h:48,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm8_pmm_test.c:24:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.73-custom/kernel/nvidia-uvm/uvm_linux.h:270:2: warning: #warning "atomic64_t unavailable, demoting to atomic_t!" [-Wcpp]
#warning "atomic64_t unavailable, demoting to atomic_t!"
^~~~~~~
..............  etc...

More testing will be needed!

Robert Gadsdon.  November 4, 2018.


Comments

Kernel – 4.20-rc1 Released – OK with VMware, not with NVIDIA, and possible fix? — 2 Comments

    • I’m not set up to host actual patches, and – unfortunately – this one was not entirely successful (see latest article..)
      RG.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.