summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2019-01-16 11:24:43 +0100
committerJeroen Roovers <jer@gentoo.org>2019-01-16 11:32:11 +0100
commit421d7dc6fb791f8edde480dc6d989ade59c54710 (patch)
tree136e471d5d10bed308cbe5d9575fc8b8efd7dc4e
parentmedia-libs/opencv: 3.4.1 stable for amd64 and x86 (diff)
downloadgentoo-421d7dc6.tar.gz
gentoo-421d7dc6.tar.bz2
gentoo-421d7dc6.zip
x11-drivers/nvidia-drivers: Drop USE=pax_kernel
Closes: https://bugs.gentoo.org/551366 Closes: https://bugs.gentoo.org/593624 Closes: https://bugs.gentoo.org/600156 Closes: https://bugs.gentoo.org/629062 Closes: https://bugs.gentoo.org/633738 Closes: https://bugs.gentoo.org/650482 Package-Manager: Portage-2.3.56, Repoman-2.3.12 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch52
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-337.12-pax-constify.patch25
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-375.20-pax.patch406
-rw-r--r--x11-drivers/nvidia-drivers/metadata.xml4
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-340.107.ebuild12
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.87.ebuild11
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-410.93.ebuild9
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-415.25.ebuild9
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-415.27.ebuild9
9 files changed, 7 insertions, 530 deletions
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch
deleted file mode 100644
index 9777ce6c2d43..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -757,16 +757,16 @@
-
- #if defined(NV_KMEM_CACHE_CREATE_PRESENT)
- #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
--#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
-+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
- { \
- kmem_cache = kmem_cache_create(name, sizeof(type), \
-- 0, 0, NULL, NULL); \
-+ 0, flags, NULL, NULL); \
- }
- #elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
--#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
-+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
- { \
- kmem_cache = kmem_cache_create(name, sizeof(type), \
-- 0, 0, NULL); \
-+ 0, flags, NULL); \
- }
- #else
- #error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
---- a/kernel/nv.c
-+++ b/kernel/nv.c
-@@ -794,7 +794,7 @@
- NV_SPIN_LOCK_INIT(&km_lock);
- #endif
-
-- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t);
-+ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t, SLAB_USERCOPY);
- if (nv_stack_t_cache == NULL)
- {
- nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
-@@ -924,7 +924,7 @@
- nv->os_state = (void *) &nv_ctl_device;
- nv_lock_init_locks(nv);
-
-- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t);
-+ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t, 0);
- if (nv_pte_t_cache == NULL)
- {
- rc = -ENOMEM;
-@@ -935,7 +935,7 @@
- if (NV_BUILD_MODULE_INSTANCES == 0)
- {
- NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
-- nvidia_p2p_page_t);
-+ nvidia_p2p_page_t, 0);
- if (nvidia_p2p_page_t_cache == NULL)
- {
- rc = -ENOMEM;
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-337.12-pax-constify.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-337.12-pax-constify.patch
deleted file mode 100644
index 0ec9edf99cc8..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-337.12-pax-constify.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/kernel/uvm/nvidia_uvm_common.c
-+++ b/kernel/uvm/nvidia_uvm_common.c
-@@ -95,7 +95,6 @@ static RM_STATUS uvmnext_gpu_event_stop_
- #endif // NVIDIA_UVM_NEXT_ENABLED
-
- static dev_t g_uvmBaseDev;
--struct UvmOpsUvmEvents g_exportedUvmOps;
-
- // TODO: This would be easier if RM allowed for multiple registrations, since we
- // could register UVM-Lite and UVM-Next separately (bug 1372835).
-@@ -147,9 +146,11 @@ static RM_STATUS uvmSetupGpuProvider(voi
- RM_STATUS status = RM_OK;
-
- #ifdef NVIDIA_UVM_RM_ENABLED
-- g_exportedUvmOps.startDevice = uvm_gpu_event_start_device;
-- g_exportedUvmOps.stopDevice = uvm_gpu_event_stop_device;
-- g_exportedUvmOps.isrTopHalf = uvmnext_isr_top_half;
-+ static struct UvmOpsUvmEvents g_exportedUvmOps = {
-+ .startDevice = uvm_gpu_event_start_device,
-+ .stopDevice = uvm_gpu_event_stop_device,
-+ .isrTopHalf = uvmnext_isr_top_half,
-+ };
-
- // call RM to exchange the function pointers.
- status = nvUvmInterfaceRegisterUvmCallbacks(&g_exportedUvmOps);
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.20-pax.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.20-pax.patch
deleted file mode 100644
index 9dd245a1f16a..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.20-pax.patch
+++ /dev/null
@@ -1,406 +0,0 @@
-diff -urp work.orig/kernel/common/inc/nv-linux.h work/kernel/common/inc/nv-linux.h
---- work.orig/kernel/common/inc/nv-linux.h 2016-11-27 21:56:50.391617167 +0100
-+++ work/kernel/common/inc/nv-linux.h 2016-11-27 22:04:14.045516163 +0100
-@@ -1310,7 +1310,8 @@ extern void *nvidia_stack_t_cache;
- #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
- #define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
- kmem_cache_create(name, size, align, flags, ctor)
--
-+#define NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, size, align, flags, useroffset, usersize, ctor) \
-+ kmem_cache_create_usercopy(name, size, align, flags, useroffset, usersize, ctor)
- #else
- #define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
- kmem_cache_create(name, size, align, flags, ctor, NULL)
-@@ -1319,6 +1320,14 @@ extern void *nvidia_stack_t_cache;
- #define NV_KMEM_CACHE_CREATE(name, type) \
- NV_KMEM_CACHE_CREATE_FULL(name, sizeof(type), 0, 0, NULL)
-
-+#ifdef SLAB_USERCOPY
-+#define NV_KMEM_CACHE_CREATE_USERCOPY(name, type) \
-+ NV_KMEM_CACHE_CREATE_FULL(name, sizeof(type), 0, SLAB_USERCOPY, NULL)
-+#else
-+#define NV_KMEM_CACHE_CREATE_USERCOPY(name, type) \
-+ NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, sizeof(type), 0, 0, 0, sizeof(type), NULL)
-+#endif
-+
- #define NV_KMEM_CACHE_DESTROY(kmem_cache) \
- kmem_cache_destroy(kmem_cache)
-
-diff -urp work.orig/kernel/common/inc/nv-modeset-interface.h work/kernel/common/inc/nv-modeset-interface.h
---- work.orig/kernel/common/inc/nv-modeset-interface.h 2016-11-27 21:56:50.391617167 +0100
-+++ work/kernel/common/inc/nv-modeset-interface.h 2016-11-27 21:54:23.971706350 +0100
-@@ -72,7 +72,7 @@ typedef struct {
- * mix nvidia and nvidia-modeset kernel modules from different
- * releases.
- */
-- const char *version_string;
-+// const char *version_string;
-
- /*
- * Return system information.
-@@ -117,6 +117,6 @@ typedef struct {
-
- } nvidia_modeset_rm_ops_t;
-
--NV_STATUS nvidia_get_rm_ops(nvidia_modeset_rm_ops_t *rm_ops);
-+NV_STATUS nvidia_get_rm_ops(const nvidia_modeset_rm_ops_t **rm_ops, const char **version_string);
-
- #endif /* _NV_MODESET_INTERFACE_H_ */
-diff -urp work.orig/kernel/common/inc/nv-register-module.h work/kernel/common/inc/nv-register-module.h
---- work.orig/kernel/common/inc/nv-register-module.h 2016-11-27 21:56:50.391617167 +0100
-+++ work/kernel/common/inc/nv-register-module.h 2016-11-27 21:54:23.971706350 +0100
-@@ -34,7 +34,7 @@ typedef struct nvidia_module_s {
- int (*ioctl)(struct inode *, struct file * file, unsigned int cmd, unsigned long arg);
- unsigned int (*poll)(struct file * file, poll_table *wait);
-
--} nvidia_module_t;
-+} __do_const nvidia_module_t;
-
- int nvidia_register_module(nvidia_module_t *);
- int nvidia_unregister_module(nvidia_module_t *);
-diff -urp work.orig/kernel/nvidia/nv.c work/kernel/nvidia/nv.c
---- work.orig/kernel/nvidia/nv.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia/nv.c 2016-11-27 21:54:23.971706350 +0100
-@@ -666,7 +666,7 @@ int __init nvidia_init_module(void)
- NV_SPIN_LOCK_INIT(&km_lock);
- #endif
-
-- nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE(nvidia_stack_cache_name,
-+ nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE_USERCOPY(nvidia_stack_cache_name,
- nvidia_stack_t);
- if (nvidia_stack_t_cache == NULL)
- {
-diff -urp work.orig/kernel/nvidia/nv-chrdev.c work/kernel/nvidia/nv-chrdev.c
---- work.orig/kernel/nvidia/nv-chrdev.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia/nv-chrdev.c 2016-11-27 21:54:23.971706350 +0100
-@@ -20,8 +20,6 @@ int nv_register_chrdev(void *param)
- {
- nvidia_module_t *module = (nvidia_module_t *)param;
-
-- module->instance = nv_module_instance;
--
- return (nvidia_register_module(module));
- }
-
-diff -urp work.orig/kernel/nvidia/nv-instance.c work/kernel/nvidia/nv-instance.c
---- work.orig/kernel/nvidia/nv-instance.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia/nv-instance.c 2016-11-27 21:54:23.971706350 +0100
-@@ -51,6 +51,7 @@ struct pci_driver nv_pci_driver = {
- nvidia_module_t nv_fops = {
- .owner = THIS_MODULE,
- .module_name = MODULE_NAME,
-+ .instance = MODULE_INSTANCE_NUMBER,
- .open = nvidia_open,
- .close = nvidia_close,
- .ioctl = nvidia_ioctl,
-diff -urp work.orig/kernel/nvidia/nv-mmap.c work/kernel/nvidia/nv-mmap.c
---- work.orig/kernel/nvidia/nv-mmap.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia/nv-mmap.c 2016-11-27 21:54:23.971706350 +0100
-@@ -102,12 +102,12 @@ nvidia_vma_release(struct vm_area_struct
- }
-
- #if defined(NV_VM_OPERATIONS_STRUCT_HAS_ACCESS)
--static int
-+static ssize_t
- nvidia_vma_access(
- struct vm_area_struct *vma,
- unsigned long addr,
- void *buffer,
-- int length,
-+ size_t length,
- int write
- )
- {
-diff -urp work.orig/kernel/nvidia/nv-modeset-interface.c work/kernel/nvidia/nv-modeset-interface.c
---- work.orig/kernel/nvidia/nv-modeset-interface.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia/nv-modeset-interface.c 2016-11-27 21:54:23.971706350 +0100
-@@ -100,10 +100,9 @@ static NvU32 nvidia_modeset_enumerate_gp
- return count;
- }
-
--NV_STATUS nvidia_get_rm_ops(nvidia_modeset_rm_ops_t *rm_ops)
-+NV_STATUS nvidia_get_rm_ops(const nvidia_modeset_rm_ops_t **rm_ops, const char **version_string)
- {
-- const nvidia_modeset_rm_ops_t local_rm_ops = {
-- .version_string = NV_VERSION_STRING,
-+ static const nvidia_modeset_rm_ops_t local_rm_ops = {
- .system_info = {
- .allow_write_combining = NV_FALSE,
- },
-@@ -116,17 +115,26 @@ NV_STATUS nvidia_get_rm_ops(nvidia_modes
- .set_callbacks = nvidia_modeset_set_callbacks,
- };
-
-- if (strcmp(rm_ops->version_string, NV_VERSION_STRING) != 0)
-+ static const nvidia_modeset_rm_ops_t local_rm_ops_wc = {
-+ .system_info = {
-+ .allow_write_combining = NV_TRUE,
-+ },
-+ .alloc_stack = nvidia_modeset_rm_ops_alloc_stack,
-+ .free_stack = nvidia_modeset_rm_ops_free_stack,
-+ .enumerate_gpus = nvidia_modeset_enumerate_gpus,
-+ .open_gpu = nvidia_dev_get,
-+ .close_gpu = nvidia_dev_put,
-+ .op = rm_kernel_rmapi_op, /* provided by nv-kernel.o */
-+ .set_callbacks = nvidia_modeset_set_callbacks,
-+ };
-+
-+ if (strcmp(*version_string, NV_VERSION_STRING) != 0)
- {
-- rm_ops->version_string = NV_VERSION_STRING;
-+ *version_string = NV_VERSION_STRING;
- return NV_ERR_GENERIC;
- }
-
-- *rm_ops = local_rm_ops;
--
-- if (NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER)) {
-- rm_ops->system_info.allow_write_combining = NV_TRUE;
-- }
-+ *rm_ops = NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER) ? &local_rm_ops_wc : &local_rm_ops;
-
- return NV_OK;
- }
-diff -urp work.orig/kernel/nvidia-drm/nvidia-drm-drv.c work/kernel/nvidia-drm/nvidia-drm-drv.c
---- work.orig/kernel/nvidia-drm/nvidia-drm-drv.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia-drm/nvidia-drm-drv.c 2016-11-27 21:54:23.971706350 +0100
-@@ -594,7 +594,7 @@ static const struct drm_ioctl_desc nv_dr
- DRM_CONTROL_ALLOW|DRM_RENDER_ALLOW|DRM_UNLOCKED),
- };
-
--static struct drm_driver nv_drm_driver = {
-+static drm_driver_no_const nv_drm_driver __read_only = {
-
- .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_RENDER,
-
-@@ -654,6 +654,7 @@ static void nvidia_update_drm_driver_fea
- return;
- }
-
-+ pax_open_kernel();
- nv_drm_driver.driver_features |= DRIVER_MODESET | DRIVER_ATOMIC;
-
- nv_drm_driver.master_set = nvidia_drm_master_set;
-@@ -664,6 +665,7 @@ static void nvidia_update_drm_driver_fea
- nv_drm_driver.dumb_destroy = drm_gem_dumb_destroy;
-
- nv_drm_driver.gem_vm_ops = &nv_drm_gem_vma_ops;
-+ pax_close_kernel();
- #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
- }
-
-diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvidia-modeset/nvidia-modeset-linux.c
---- work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-11-27 21:56:50.395629748 +0100
-+++ work/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-11-27 21:54:23.971706350 +0100
-@@ -335,29 +335,28 @@ static void nvkms_resume(NvU32 gpuId)
- * Interface with resman.
- *************************************************************************/
-
--static nvidia_modeset_rm_ops_t __rm_ops = { 0 };
-+static const nvidia_modeset_rm_ops_t *__rm_ops;
- static nvidia_modeset_callbacks_t nvkms_rm_callbacks = {
-- nvkms_suspend,
-- nvkms_resume
-+ .suspend = nvkms_suspend,
-+ .resume = nvkms_resume
- };
-
- static int nvkms_alloc_rm(void)
- {
- NV_STATUS nvstatus;
- int ret;
-+ const char *version_string = NV_VERSION_STRING;
-
-- __rm_ops.version_string = NV_VERSION_STRING;
--
-- nvstatus = nvidia_get_rm_ops(&__rm_ops);
-+ nvstatus = nvidia_get_rm_ops(&__rm_ops, &version_string);
-
- if (nvstatus != NV_OK) {
- printk(KERN_ERR NVKMS_LOG_PREFIX "Version mismatch: "
- "nvidia.ko(%s) nvidia-modeset.ko(%s)\n",
-- __rm_ops.version_string, NV_VERSION_STRING);
-+ version_string, NV_VERSION_STRING);
- return -EINVAL;
- }
-
-- ret = __rm_ops.set_callbacks(&nvkms_rm_callbacks);
-+ ret = __rm_ops->set_callbacks(&nvkms_rm_callbacks);
- if (ret < 0) {
- printk(KERN_ERR NVKMS_LOG_PREFIX "Failed to register callbacks\n");
- return ret;
-@@ -368,20 +367,20 @@ static int nvkms_alloc_rm(void)
-
- static void nvkms_free_rm(void)
- {
-- __rm_ops.set_callbacks(NULL);
-+ __rm_ops->set_callbacks(NULL);
- }
-
- void NVKMS_API_CALL nvkms_call_rm(void *ops)
- {
- nvidia_modeset_stack_ptr stack = NULL;
-
-- if (__rm_ops.alloc_stack(&stack) != 0) {
-+ if (__rm_ops->alloc_stack(&stack) != 0) {
- return;
- }
-
-- __rm_ops.op(stack, ops);
-+ __rm_ops->op(stack, ops);
-
-- __rm_ops.free_stack(stack);
-+ __rm_ops->free_stack(stack);
- }
-
- /*************************************************************************
-@@ -705,13 +704,13 @@ NvBool NVKMS_API_CALL nvkms_open_gpu(NvU
- nvidia_modeset_stack_ptr stack = NULL;
- NvBool ret;
-
-- if (__rm_ops.alloc_stack(&stack) != 0) {
-+ if (__rm_ops->alloc_stack(&stack) != 0) {
- return NV_FALSE;
- }
-
-- ret = __rm_ops.open_gpu(gpuId, stack) == 0;
-+ ret = __rm_ops->open_gpu(gpuId, stack) == 0;
-
-- __rm_ops.free_stack(stack);
-+ __rm_ops->free_stack(stack);
-
- return ret;
- }
-@@ -720,23 +719,23 @@ void NVKMS_API_CALL nvkms_close_gpu(NvU3
- {
- nvidia_modeset_stack_ptr stack = NULL;
-
-- if (__rm_ops.alloc_stack(&stack) != 0) {
-+ if (__rm_ops->alloc_stack(&stack) != 0) {
- return;
- }
-
-- __rm_ops.close_gpu(gpuId, stack);
-+ __rm_ops->close_gpu(gpuId, stack);
-
-- __rm_ops.free_stack(stack);
-+ __rm_ops->free_stack(stack);
- }
-
- NvU32 NVKMS_API_CALL nvkms_enumerate_gpus(nv_gpu_info_t *gpu_info)
- {
-- return __rm_ops.enumerate_gpus(gpu_info);
-+ return __rm_ops->enumerate_gpus(gpu_info);
- }
-
- NvBool NVKMS_API_CALL nvkms_allow_write_combining(void)
- {
-- return __rm_ops.system_info.allow_write_combining;
-+ return __rm_ops->system_info.allow_write_combining;
- }
-
- /*************************************************************************
-diff -urp work.orig/kernel/nvidia-uvm/uvm8_global.c work/kernel/nvidia-uvm/uvm8_global.c
---- work.orig/kernel/nvidia-uvm/uvm8_global.c 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm8_global.c 2016-11-27 21:54:23.975709978 +0100
-@@ -35,17 +35,17 @@
- #include "nv_uvm_interface.h"
-
- uvm_global_t g_uvm_global;
--static struct UvmOpsUvmEvents g_exported_uvm8_ops;
-+static struct UvmOpsUvmEvents g_exported_uvm8_ops = {
-+ .startDevice = NULL,
-+ .stopDevice = NULL,
-+ .isrTopHalf = uvm8_isr_top_half,
-+};
- static bool g_ops_registered = false;
-
- static NV_STATUS uvm8_register_callbacks(void)
- {
- NV_STATUS status = NV_OK;
-
-- g_exported_uvm8_ops.startDevice = NULL;
-- g_exported_uvm8_ops.stopDevice = NULL;
-- g_exported_uvm8_ops.isrTopHalf = uvm8_isr_top_half;
--
- // Register the UVM callbacks with the main GPU driver:
- status = uvm_rm_locked_call(nvUvmInterfaceRegisterUvmCallbacks(&g_exported_uvm8_ops));
- if (status != NV_OK)
-diff -urp work.orig/kernel/nvidia-uvm/uvm8_gpu_semaphore.c work/kernel/nvidia-uvm/uvm8_gpu_semaphore.c
---- work.orig/kernel/nvidia-uvm/uvm8_gpu_semaphore.c 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm8_gpu_semaphore.c 2016-11-27 21:54:23.975709978 +0100
-@@ -368,7 +368,7 @@ void uvm_gpu_semaphore_set_payload(uvm_g
- // being optimized out on non-SMP configs (we need them for interacting with
- // the GPU correctly even on non-SMP).
- mb();
-- ACCESS_ONCE(*semaphore->payload) = payload;
-+ ACCESS_ONCE_RW(*semaphore->payload) = payload;
- }
-
- // This function is intended to catch channels which have been left dangling in
-diff -urp work.orig/kernel/nvidia-uvm/uvm8_hal.h work/kernel/nvidia-uvm/uvm8_hal.h
---- work.orig/kernel/nvidia-uvm/uvm8_hal.h 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm8_hal.h 2016-11-27 21:54:23.975709978 +0100
-@@ -316,7 +316,7 @@ typedef struct
- // fault_buffer_ops: id is a hardware class
- uvm_fault_buffer_hal_t fault_buffer_ops;
- } u;
--} uvm_hal_class_ops_t;
-+} __do_const uvm_hal_class_ops_t;
-
- // When UVM next support is enabled support for future chips in the hal is
- // enabled by providing additional hal table entries below.
-diff -urp work.orig/kernel/nvidia-uvm/uvm8_mmu.h work/kernel/nvidia-uvm/uvm8_mmu.h
---- work.orig/kernel/nvidia-uvm/uvm8_mmu.h 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm8_mmu.h 2016-11-27 21:54:23.975709978 +0100
-@@ -24,7 +24,6 @@
- #ifndef __UVM8_MMU_H__
- #define __UVM8_MMU_H__
-
--#include "uvm8_forward_decl.h"
- #include "uvm8_hal_types.h"
- #include "uvm8_pmm_gpu.h"
- #include "uvmtypes.h"
-diff -urp work.orig/kernel/nvidia-uvm/uvm_common.c work/kernel/nvidia-uvm/uvm_common.c
---- work.orig/kernel/nvidia-uvm/uvm_common.c 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm_common.c 2016-11-27 21:54:23.975709978 +0100
-@@ -42,7 +42,6 @@
- #define UVM_SPIN_LOOP_PRINT_TIMEOUT_SEC 30ULL
-
- static dev_t g_uvmBaseDev;
--struct UvmOpsUvmEvents g_exportedUvmOps;
-
- static char* uvm_driver_mode = "8";
-
-diff -urp work.orig/kernel/nvidia-uvm/uvm_full_fault_buffer.h work/kernel/nvidia-uvm/uvm_full_fault_buffer.h
---- work.orig/kernel/nvidia-uvm/uvm_full_fault_buffer.h 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm_full_fault_buffer.h 2016-11-27 21:54:23.975709978 +0100
-@@ -31,6 +31,7 @@
- #define _UVM_FULL_FAULT_BUFFER_H_
-
- #include "uvmtypes.h"
-+#include "linux/compiler.h"
-
- #define MAXWELL_FAULT_BUFFER_A (0xb069)
- #define MEM_RD32(a) (*(const volatile NvU32 *)(a))
-@@ -303,7 +304,7 @@ typedef struct
- NvUvmControlPrefetch_t controlPrefetch;
- NvUvmTestFaultBufferOverflow_t testFaultBufferOverflow;
- NvUvmClearFaultBufferOverflow_t clearFaultBufferOverflow;
--} UvmFaultBufferOps;
-+} __no_const UvmFaultBufferOps;
-
- /******************************************************************************
- uvmfull_fault_buffer_init
-diff -urp work.orig/kernel/nvidia-uvm/uvm_linux.h work/kernel/nvidia-uvm/uvm_linux.h
---- work.orig/kernel/nvidia-uvm/uvm_linux.h 2016-11-27 21:56:50.399642330 +0100
-+++ work/kernel/nvidia-uvm/uvm_linux.h 2016-11-27 21:54:23.975709978 +0100
-@@ -420,7 +420,7 @@ static inline NvU64 NV_GETTIME(void)
-
- // WRITE_ONCE/READ_ONCE have incompatible definitions across versions, which produces warnings.
- // Therefore, we define our own macros
--#define UVM_WRITE_ONCE(x, val) (ACCESS_ONCE(x) = (val))
-+#define UVM_WRITE_ONCE(x, val) (ACCESS_ONCE_RW(x) = (val))
- #define UVM_READ_ONCE(x) ACCESS_ONCE(x)
-
- // Added in 3.11
diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml
index 9949b7e95257..acc86edc6033 100644
--- a/x11-drivers/nvidia-drivers/metadata.xml
+++ b/x11-drivers/nvidia-drivers/metadata.xml
@@ -4,9 +4,6 @@
<maintainer type="person">
<email>jer@gentoo.org</email>
</maintainer>
- <maintainer type="project">
- <email>hardened@gentoo.org</email>
- </maintainer>
<longdescription>
Nvidia provides different branches of its drivers for different batches of its
hardware. When maintaining these ebuilds or other ebuilds depending on them,
@@ -19,7 +16,6 @@
<flag name="X">Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries</flag>
<flag name="gtk3">Install nvidia-settings with support for GTK+ 3</flag>
<flag name="kms">Enable support for kernel mode setting (KMS)</flag>
- <flag name="pax_kernel">PaX patches from the PaX project</flag>
<flag name="tools">Install additional tools such as nvidia-settings</flag>
<flag name="uvm">Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs</flag>
</use>
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.107.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107.ebuild
index 928ed785b265..e943e836d803 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-340.107.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -26,7 +26,7 @@ SRC_URI="
LICENSE="GPL-2 NVIDIA-r2"
SLOT="0/${PV%.*}"
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools +X"
+IUSE="acpi multilib kernel_FreeBSD kernel_linux static-libs +tools +X"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
@@ -172,14 +172,6 @@ src_prepare() {
# convert_to_m "${NV_SRC}"/Makefile.kbuild
fi
- if use pax_kernel; then
- ewarn "Using PAX patches is not supported. You will be asked to"
- ewarn "use a standard kernel should you have issues. Should you"
- ewarn "need support with these patches, contact the PaX team."
- eapply "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
- eapply "${FILESDIR}"/${PN}-337.12-pax-constify.patch
- fi
-
local man_file
for man_file in "${NV_MAN}"/*1.gz; do
gunzip $man_file || die
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.87.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.87.ebuild
index 90b232bbe062..061933e4ec44 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.87.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.87.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -32,7 +32,7 @@ KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
+IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
REQUIRED_USE="
tools? ( X )
static-libs? ( tools )
@@ -177,13 +177,6 @@ pkg_setup() {
}
src_prepare() {
- if use pax_kernel; then
- ewarn "Using PAX patches is not supported. You will be asked to"
- ewarn "use a standard kernel should you have issues. Should you"
- ewarn "need support with these patches, contact the PaX team."
- eapply "${FILESDIR}"/${PN}-375.20-pax.patch
- fi
-
local man_file
for man_file in "${NV_MAN}"/*1.gz; do
gunzip $man_file || die
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-410.93.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-410.93.ebuild
index b496478afc95..ef8a7466e6cb 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-410.93.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-410.93.ebuild
@@ -27,7 +27,7 @@ KEYWORDS="-* amd64 ~amd64-fbsd"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
+IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
REQUIRED_USE="
tools? ( X )
static-libs? ( tools )
@@ -170,13 +170,6 @@ pkg_setup() {
}
src_prepare() {
- if use pax_kernel; then
- ewarn "Using PAX patches is not supported. You will be asked to"
- ewarn "use a standard kernel should you have issues. Should you"
- ewarn "need support with these patches, contact the PaX team."
- eapply "${FILESDIR}"/${PN}-375.20-pax.patch
- fi
-
local man_file
for man_file in "${NV_MAN}"/*1.gz; do
gunzip $man_file || die
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-415.25.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-415.25.ebuild
index b4dd340c748b..102faff968eb 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-415.25.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-415.25.ebuild
@@ -27,7 +27,7 @@ KEYWORDS="-* amd64 ~amd64-fbsd"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
+IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
REQUIRED_USE="
tools? ( X )
static-libs? ( tools )
@@ -170,13 +170,6 @@ pkg_setup() {
}
src_prepare() {
- if use pax_kernel; then
- ewarn "Using PAX patches is not supported. You will be asked to"
- ewarn "use a standard kernel should you have issues. Should you"
- ewarn "need support with these patches, contact the PaX team."
- eapply "${FILESDIR}"/${PN}-375.20-pax.patch
- fi
-
local man_file
for man_file in "${NV_MAN}"/*1.gz; do
gunzip $man_file || die
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27.ebuild
index 93bdc175c38d..d7395d2b6c65 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27.ebuild
@@ -27,7 +27,7 @@ KEYWORDS="-* ~amd64 ~amd64-fbsd"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
+IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
REQUIRED_USE="
tools? ( X )
static-libs? ( tools )
@@ -170,13 +170,6 @@ pkg_setup() {
}
src_prepare() {
- if use pax_kernel; then
- ewarn "Using PAX patches is not supported. You will be asked to"
- ewarn "use a standard kernel should you have issues. Should you"
- ewarn "need support with these patches, contact the PaX team."
- eapply "${FILESDIR}"/${PN}-375.20-pax.patch
- fi
-
local man_file
for man_file in "${NV_MAN}"/*1.gz; do
gunzip $man_file || die