diff --git a/.SRCINFO b/.SRCINFO index fc27e77eab276..dadb6d20693dd 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = nvidia-390xx-utils pkgver = 390.157 - pkgrel = 11 + pkgrel = 12 url = https://www.nvidia.com/ arch = x86_64 license = custom @@ -18,6 +18,7 @@ pkgbase = nvidia-390xx-utils source = kernel-6.6.patch source = kernel-6.8.patch source = gcc-14.patch + source = kernel-6.10.patch source = kernel-4.16+-memory-encryption.patch b2sums = 8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9 b2sums = c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be @@ -32,6 +33,7 @@ pkgbase = nvidia-390xx-utils b2sums = 1b0156a4fe7eddcfa549dbb56f892c181fd86ef5897bbf4f81ed1ea68f7bff6e77602083bd2792fc57f790b35a8020c0879695b1e6b1be02d3233fb6f781dc4a b2sums = d7059792166bd0d1fce8f494d869b13e95aefd31af8d626651f5087e87f9c728655d1fbffbc8b6c2e1ee5d9e96f2a3fafadf7a3e06c28bdbfd266319c32c7704 b2sums = 2382cc3e1ce89931cc5943fa1e96094f592915bd64bc88ff9b087e0c127347b440dd969cce149c01ee894f1ec9c059c616eee6f20cd4af2ba2c81fbd690e498b + b2sums = a06b47d59e11ab2f8bd7af97042a3ed15ac97559b3c507a03fa453481b86727d98f8a34e95c6fc38fe82f803d0b67282dba4f27d4f714d2c68eb2eb0ce98e575 b2sums = a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05 pkgname = nvidia-390xx-utils diff --git a/PKGBUILD b/PKGBUILD index ce5273e8e8da5..bf4d12da7526b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=nvidia-390xx-utils pkgname=('nvidia-390xx-utils' 'opencl-nvidia-390xx' 'nvidia-390xx-dkms') pkgver=390.157 -pkgrel=11 +pkgrel=12 arch=('x86_64') url="https://www.nvidia.com/" license=('custom') @@ -27,6 +27,7 @@ source=('nvidia-drm-outputclass.conf' kernel-6.6.patch kernel-6.8.patch gcc-14.patch + kernel-6.10.patch kernel-4.16+-memory-encryption.patch) b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9' 'c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be' @@ -41,6 +42,7 @@ b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1 '1b0156a4fe7eddcfa549dbb56f892c181fd86ef5897bbf4f81ed1ea68f7bff6e77602083bd2792fc57f790b35a8020c0879695b1e6b1be02d3233fb6f781dc4a' 'd7059792166bd0d1fce8f494d869b13e95aefd31af8d626651f5087e87f9c728655d1fbffbc8b6c2e1ee5d9e96f2a3fafadf7a3e06c28bdbfd266319c32c7704' '2382cc3e1ce89931cc5943fa1e96094f592915bd64bc88ff9b087e0c127347b440dd969cce149c01ee894f1ec9c059c616eee6f20cd4af2ba2c81fbd690e498b' + 'a06b47d59e11ab2f8bd7af97042a3ed15ac97559b3c507a03fa453481b86727d98f8a34e95c6fc38fe82f803d0b67282dba4f27d4f714d2c68eb2eb0ce98e575' 'a8234f542c2324ad698443e3decf7b6eacf3cb420b7aded787f102a8d32b64c2a8d45ea58e37a5e3b6f2f060f0cccd63d3a182065f57c606006d0ff8c7f6bb05') create_links() { @@ -85,6 +87,9 @@ prepare() { # From loqs patch -Np1 -i ../gcc-14.patch + # From Ike Devolder, edited by drankinatty + patch -Np1 -i ../kernel-6.10.patch + cd kernel sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf diff --git a/kernel-6.10.patch b/kernel-6.10.patch new file mode 100644 index 0000000000000..1b943c55817db --- /dev/null +++ b/kernel-6.10.patch @@ -0,0 +1,65 @@ +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index a9db899..4da7588 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -4464,20 +4464,22 @@ compile_test() { + compile_check_conftest "$CODE" "NV_DRM_GEM_OBJECT_VMAP_HAS_MAP_ARG" "" "types" + ;; + +- unsafe_follow_pfn) ++ follow_pfn) + # +- # Determine if unsafe_follow_pfn() is present. ++ # Determine if follow_pfn() is present. + # +- # unsafe_follow_pfn() was added by commit 69bacee7f9ad +- # ("mm: Add unsafe_follow_pfn") in v5.13-rc1. ++ # follow_pfn() was added by commit 3b6748e2dd69 ++ # ("mm: introduce follow_pfn()") in v2.6.31-rc1, and removed ++ # by commit 233eb0bf3b94 ("mm: remove follow_pfn") ++ # from linux-next 233eb0bf3b94. + # + CODE=" + #include +- void conftest_unsafe_follow_pfn(void) { +- unsafe_follow_pfn(); ++ void conftest_follow_pfn(void) { ++ follow_pfn(); + }" + +- compile_check_conftest "$CODE" "NV_UNSAFE_FOLLOW_PFN_PRESENT" "" "functions" ++ compile_check_conftest "$CODE" "NV_FOLLOW_PFN_PRESENT" "" "functions" + ;; + + drm_plane_atomic_check_has_atomic_state_arg) +diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild +index d6995ca..3a3dd17 100644 +--- a/kernel/nvidia/nvidia.Kbuild ++++ b/kernel/nvidia/nvidia.Kbuild +@@ -165,7 +165,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_raw_ts64 + NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_real_ts64 + NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_nocache + NV_CONFTEST_FUNCTION_COMPILE_TESTS += vga_tryget +-NV_CONFTEST_FUNCTION_COMPILE_TESTS += unsafe_follow_pfn ++NV_CONFTEST_FUNCTION_COMPILE_TESTS += follow_pfn + NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_bus_get_device + NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_video_backlight_use_native + +diff --git a/kernel/nvidia/os-mlock.c b/kernel/nvidia/os-mlock.c +index f88daed..9e1bd0c 100644 +--- a/kernel/nvidia/os-mlock.c ++++ b/kernel/nvidia/os-mlock.c +@@ -18,10 +18,10 @@ static inline int nv_follow_pfn(struct vm_area_struct *vma, + unsigned long address, + unsigned long *pfn) + { +-#if defined(NV_UNSAFE_FOLLOW_PFN_PRESENT) +- return unsafe_follow_pfn(vma, address, pfn); +-#else ++#if defined(NV_FOLLOW_PFN_PRESENT) + return follow_pfn(vma, address, pfn); ++#else ++ return -1; + #endif + } +