1
0
Fork 0

x11-drivers/nvidia-drivers: Version bump fixing PAX as 375.26 is stable upstream

This commit is contained in:
Stefan Reimer 2016-12-25 14:18:01 -08:00
parent b640cad907
commit bbd113fd13
5 changed files with 129 additions and 123 deletions

View File

@ -1,7 +1,7 @@
AUX 95-nvidia-settings-r1 54 SHA256 cbc6e8cae863b768b2ec570390e409476ec3ca1137006888810a9ec7f0029eb0 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7 WHIRLPOOL 032fbfd24378659f30b0ca2d653dff8fa09106aa55803740f22f82515251c099e9637310d420d909135e9f7850cb2890cf4abeac9d6a4b5e390a7d061462b13a
AUX nvidia-169.07 639 SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f WHIRLPOOL 626ae3c01c879e0cfe05bd373e0b9dfd6f462dd9ef6ae94a7d60276fe2d17c57fbb20aaa4d2a186a0ffc2a860076692aac854d00a3545bc9736e7bb8d0581055
AUX nvidia-drivers-370.28-pax.patch 15652 SHA256 bebd277021053bbbd7811a27160ee3cb07e19f5434c4027a95b353d2a8b1ffce SHA512 4713a6133ab4951512115bb67614db26d10a7e1c36e50f54e58e00b9ebc9365055d7a325c60e8b940e16727d7bfee395db55ae680b933b23d7046e00420acdf7 WHIRLPOOL 4251709445cc8150aaf665aeb81937a320dbdcc2c49597d31921871f431b667aaa38237397a78f286c5d515ecb8e2445f8c2c70f51bc5a594243be423d808504
AUX nvidia-drivers-370.28-profiles-rc.patch 275 SHA256 709f9a1329ae70337c1ac0e7135b2f6352b6bec561ee4f4ed232d0d2dd1e7c42 SHA512 6f0f6df0ad822a4c1b1e232ee975ee4928b974e139e98bc1d286952a5ac5cd6501bcd07d3b005dbbf31696515ce9be4536fb392b163b98d4e915770754b2d527 WHIRLPOOL db9f2138e94927caa815e69198143093905841bc6ba1b793d1ec61690efb41b15cbe28978e95934a2e41ca6f13fee0f04419e453b708ada083bdae5d496a12fd
AUX nvidia-drivers-375.26-pax.patch 15901 SHA256 165ba19d91e3ea0bc01dc3ec730ea0bb13f8176fb21db4111da1fcd8f3d6892b SHA512 65ad102cc3c28c6e2d67c4f24c8fe6ca3b9b4b4f57eca6fdf437127ce9caccabebd3049af53b30ba808e68529b5627a7e3add31b42cffb09d648a69bedfa55d9 WHIRLPOOL 7e47edbd0413cc72e72be2272b92c2b913f8329b97d5eb6325686c1b3c68c7ab8be4cdde748bfa44a170a86d7376bad3188e0c7fc4f6e9efc35d3db1d8caf225
AUX nvidia-drivers-375.26-profiles-rc.patch 299 SHA256 293569431fdac59e0f08103bd135cc0148b03500740a5b0fddc0c60a479da74c SHA512 2bb1cf65a91d10265b3aaa9e69b4e03d7b955f5403f47910b5c9fb4778ec2bd4355e338bc63be0b413e906ef4681ffa379fb4df46a3c732bbfc2b3042718975a WHIRLPOOL 0768d2eb9aaebcee8fb17fa1d08c42b19f4dabbbfc256207e8b1eea668b5a54366ad30507beadef7ba98136c1440269667a8c5b4a8d3aeea7575b142ecf318ef
AUX nvidia-persistenced.conf 250 SHA256 347437868119e8ae12852a574597936e855f534a9ad290fef3f62b4083a38516 SHA512 9c9562bb15bf4552754dd50a1b01dec5df76f7f5666fba2fff642a169f87e9ed421a260f2258ab469f7e4cd9ef8161653355795624387fe7ad5ae6a0d71e5f46 WHIRLPOOL 1422504c6688fce28719146c7d95fe196ca617556942e8dc04c7f8c1412fa80b5b8289c0f86b835eece90eed4b4017093d686779f88d44cd41fa3de1a10e9bbe
AUX nvidia-persistenced.init 657 SHA256 ff23bac5419456c41771056be52b763740652043fdd7239086889a43c6a2ab18 SHA512 4933d39dcfb05eae9e143eb549e297114aa306b15395634797e80d0a213b2df5ec2b8c32fd64c634dbe5dc859a8ffebb75729c03c0c8c7155f1bece08b1f3265 WHIRLPOOL 0948e1e38bec773da9bcc0ff04cae421e4935181ce40a9db33eee1acaff95f59a242300bdf3581ba7031d5b8fee24e8d5e1cf4fa54aec111992590a1629047ba
AUX nvidia-rmmod.conf 97 SHA256 7b8912f9865958755aa26c2e32930f7c6e6f7eb5e5d0d075059b93e0e5b824f0 SHA512 517e7daf74496f2ec0cca9aa2654ef26eb9f07ee942f03f6e6b97b1b311c0d9915d56ccdd2acd73680dc39373a8090c993b16d5cb9329024609a52027757c240 WHIRLPOOL 586a30a716201820d762e9715b2ef1a7bb729664900ebf18ab2c8a4347ae2add0defe4d6ed76972864a0e986cd257bb51753c5152c52e42708ed05bcac5d1e85
@ -9,10 +9,10 @@ AUX nvidia-settings.desktop 185 SHA256 a402fc441e27b6279e38d227d650916a6aa0f8726
AUX nvidia-smi.init 552 SHA256 1f1481ae98a506a7d249e87654aab9d3975b6a88b9abe7b58ebbd337babbc47c SHA512 e95d20a111be5ae19990c84b4c393e3845916458966e624bf6865cedf9be3ebfdf10f1359f3cf5f9447e7d78638dc5284cab43b78cd7f8b96cf2189d91fcf1ea WHIRLPOOL 23f73a5efd2639bcb98cec13b4c18d2b204846a95400ec33e8c18cf398fd886740af75760bfeb8ba5dac0af7a474fd8412781d02a3879d4ef2d40ad2b6c6c35b
AUX nvidia-udev.sh-r1 285 SHA256 5ca08a5329cccd9e32dd3cd573525f510edf7b12d8c531cbe781a70b2ceade63 SHA512 493b0d5f2698d299e3b8d5782ac7fb8174e7ee93f1dae66bc1161eb4dd16d4db91048444dc6e7bea344960936c0a5c825041f6909af004438d8009a3d3fe71c9 WHIRLPOOL 14c2d01d8280dc9c4afaacc75b8ef97875553b5ed50e6dba6209280ebea5cd9c607505870ee37d719530428a9f57034511cd080ba0ab3a1d831b767b4cd15305
AUX nvidia.udev-rule 462 SHA256 37b152a5055a16d1947171567178e2841679ddf03dba9d48e7d30f1e3b469ac6 SHA512 96f9edaa0b46bea5fce17596f868bea5265b303d7185af6ba81527bbd7b8fdf92de9311317cbde51a29d222083d451c25ab77c3d6837cbc4072a50d9af89aa86 WHIRLPOOL 89ed95f33db7485a3a1acd91df33ecdfb7d0a249db2d7674f134fb85b35a54653d0458e478503315ce506ae5d3c8dcd4ac20420711fdbdd087ea4bd779627d13
DIST NVIDIA-FreeBSD-x86-370.28.tar.gz 58718517 SHA256 52193b15b4ca822b029f860eed4d00270c925f5d24f7bb511a5b7bbea696d58c SHA512 83ffb19069cc240f8836d808a5eb02c142e7ad923fc2e3049a3b316acc12df070d42dfdc5a8a8e1411ccc9fba0bfa4ed84f457435e985434cd86ae966a63a3f4 WHIRLPOOL b1bec4d5e34ea39c3b1b44adcf85b7392cef39517979d32bc800e48a79a57cfb5f1ca5ff82bc302aa67ed12094782e09ab146f021a9c04e18430034a5ab341a9
DIST NVIDIA-FreeBSD-x86_64-370.28.tar.gz 57905860 SHA256 5087a93af8aaab6cff35ba60c9d67b4249827f6b7681abaaa571a20784a54552 SHA512 40637d64a0ee5029bb1c5ad7a590c5be61253ef6283c4217666768ad8601d7f51ef0d8705c8711f65c3d0a5a5721490813220c5f9186c6d2d12baf5d9c11122e WHIRLPOOL 361648788b7efb9e550b3e67d2e6022e31dab29f5660c42a1b6c961fe4638216fb8785814ee9fa1636fc39c39afce7caffbdc24fcf8bbd14e4eec5b5eeaeb1eb
DIST NVIDIA-Linux-armv7l-gnueabihf-370.28.run 26117701 SHA256 efb60a23aa22b46e94e91d5f5a5fc0c17b47bcf50471e4371653ced5a5350dce SHA512 04699849441bccfb9214fda4c7ff8ecefa11249d1fbfe470e37fefdd132becc225a1bcc16bc976c3fb145a427961f5402c95ecc84b613adb71caef9c96fe7d90 WHIRLPOOL 675a495594c46666ec11c83a76cdc8821e9b57079ee53cd7adcf00e783d121e163b7c5b10598aa55a1fee72eee47defc514fba986685af41c90ab2c5d890abbd
DIST NVIDIA-Linux-x86-370.28.run 44189522 SHA256 6323254ccf2a75d7ced1374a76ca56778689d0d8a9819e4ee5378ea3347b9835 SHA512 2df8b3d1064073c8b793287994fe0648625d095f3434b7b67531e19632cbad318994df90b55de18aa457d55a1374b35d64a646564259995d3f2197c48737921c WHIRLPOOL 85a089c833311abdc06bbc1fc68cd5ff8ed43dd5e5887d340dc854f905ae741de0ae4343d024259f493dd668075096c460bc1f93c1795d2befb81dd3c4a4983a
DIST NVIDIA-Linux-x86_64-370.28.run 76690360 SHA256 90aa3c186e45b39e6fc0064ab8dbda8bcc897cb61d2e7b7cb30b4ec9a4b39239 SHA512 931476f92a63d142478b2d6b3da4031769fd3b93aee2387800a78b1354b59a5fb5e4e293436b6b4c246627d51c0f55d140ab230de385cb1567bc8b25518eb741 WHIRLPOOL ce866c38291d2ab4aeeff05654a0e61196129f77baea5af93ddbc22fab9574ba39cc05d58020ea2407cc7342f0bcf5c2702d42290f4cc3b53c9e04fb7c617413
DIST nvidia-settings-370.28.tar.bz2 1573509 SHA256 59d7818a4837144e373ce958233db059fde59e279477001e187579770ebf0c5f SHA512 c4da6ae54839a8f91d3557153a648f69095e9a486dbaaf73e453d625660f1adcada12ee5c4bccc1afe2cfd454ead13c1df0e59d5d6aa70f6065823d53f7bb461 WHIRLPOOL e5f0a9fd67e50aee42598d6a0ce9a69a162405a6121518c7aaf9ede409e9bdeb44e3102a123eb6f8c963e0fdaca429a8b693f6af2f0467e746c42f57a496d45f
EBUILD nvidia-drivers-370.28-r1.ebuild 15412 SHA256 aae547a8765b77e990330630006f6a089dce46fdf79451d3d4f470baf43d02e4 SHA512 a5e750d9cbd3f7ee45c224ae2908d159f612ceb07cdb9d90bb81305a60f3a124d355d4d4604d440afcdba44b3618c088df2cba98bb4bf3073244abe5875005c2 WHIRLPOOL 010bd6f704331f88f9a5ded3122acbd3c75929a64333316116bfb7a7e3e1ed1f62923ed85a5fbe3b2ce433b06d9c328729fa4312debd016d8f7c3c5857a4c898
DIST NVIDIA-FreeBSD-x86-375.26.tar.gz 59091851 SHA256 5249d01a21bb846a08975c4f3a90935b6dc8fd33ec8e5faa0d624ef15bcf2b88 SHA512 281f41f341ccf7f7c1e0de9a6519813c7fd2d13ef59001c0a6f126cd5b8f2b67848c780ddaf6647e0c8b9a79c12ff77493c07203510084e741746834b26f5fdb WHIRLPOOL 48e5f810f41337f6b8f5db419288ae5050c3efd71d0b4b7f7b64251612860d5c7e83cb78885a73f6752160ca8dce852560db7d95ce93d5d86dba21e59bae5e77
DIST NVIDIA-FreeBSD-x86_64-375.26.tar.gz 58287080 SHA256 c7d32cb434f9a7e84903a1305d7577705f991fdb6eb4ab3ff79d41b2df82265d SHA512 514c92636eeffa68cea5140819a9ad14888c18c1c60b0865e5cc9f9896b503f22c1236f76e65ed5e11cf3685ceb483c78d2a442b4e9bf274ae3ab399cf40ed9e WHIRLPOOL aa4eb254a6f3c5b0a9b2aaab12a011a92763e7a966b31840a595c18e24d82935dbe0ab3faa4c9aeb7ae24ec7505cb60c20c1e117396cf0527161a2aa1face296
DIST NVIDIA-Linux-armv7l-gnueabihf-375.26.run 26735389 SHA256 8d2b7b36e74ceb1c439b2a5f8d2cdf009fda4f668509bb5d45171455abc774b9 SHA512 f18031c9b9ca6825f93f433d3f59b76a380a12b55e2f4556c2a1725fcdbea58176f22dcdb322f20e27d524f3fda75dd4f5a2a9263268411e0f5e361c580d865d WHIRLPOOL 4ecd41bebae3df91a39612849eb6f7e926398e906d2cb878aa788571976fb1cdfeabd47ac0cd3db26c4a0408608b8dfbc3815d10cdd1acd8eeaba6ed5824bb73
DIST NVIDIA-Linux-x86-375.26.run 44541069 SHA256 7c79cfaae5512f34ff14cf0fe76632c7c720600d4bbae71d90ff73f1674e617b SHA512 3bc859a95469a45f3c627018248d83e178d160385c3d17d9f890b0d142ecd1220fb21c442e4fe7755b831227a9c820736f447b162acd9699819c6e8145d6d841 WHIRLPOOL 33ad62f7021f38fd9dfa6b0fcfbc0b69a263409bd5b3b8da8eea6aa9af84299f0d5318bbc8b54139b1744b96fa08114029f8cc70b4f80b0fbd2d76efc47d0462
DIST NVIDIA-Linux-x86_64-375.26.run 75869960 SHA256 4f42b2c3709dc2f11a1deca89628582062f4e9bca87f28a4fde50d25bd4a1ecf SHA512 0990ac2e7b045bf62a8c58eb7acf91458756de91887d43486d9754bfc1493b28193072a9687d2d892cc98aaa4e584a8b2a8471756d4f19965da904d51e437dd1 WHIRLPOOL b9890e705dbc3e967a978c5f823f71a418b03aa1b36669c1763559ed81a6a103e9d011246ffe049eda899425e254e8955b921ea9132a8d36530dc4a230cb4832
DIST nvidia-settings-375.26.tar.bz2 1615459 SHA256 beb0d88e2f63427239fd2014299ef7bf780e70800f68be5d011575e858711fe9 SHA512 e575670ccf7e3ef0089ee6a969f107f6f43d742a60cc325c6d95efc4773f34a6e013fd2c4e38b5f90054e24146a05c2300c0cf6a9b7013b556bacc1402956f49 WHIRLPOOL 854e4444beb330c97b29ebc00936c9d2f2522165ef2ca86f68ae28abadef516aedb341e2b2bf6d7a762decaeac4d5c3084bddaa21492b0a60607a2bbf541c301
EBUILD nvidia-drivers-375.26-r1.ebuild 15424 SHA256 4ff9cc1a73bdecdfe726ccc24175d405f756320d54043ec5e36080915d0dd60b SHA512 415ead3b7be4594a57606b6391595b829170be50116983f1b5f469016339407129ae8892c1a18bd0d88ab860ee4fe649c58491c8a418d9896b1d9a3b38d6f5da WHIRLPOOL f2bdb798ea1a3c0238a2ae95c1a2ef9315232c32281b445fe33043cb38c8a233c86a760eb3d2e3b1a9b681199949e4e9e49601eacda62bf87eb913e772423adc

View File

@ -1,11 +0,0 @@
--- a/nvidia-application-profiles-370.28-rc
+++ b/nvidia-application-profiles-370.28-rc
@@ -44,7 +44,7 @@
{
"name" : "NamedVertexAttributesApplyDivisor",
"settings" : [ "GL23cd0e", 1 ]
- },
+ }
],
"rules" : [
{

View File

@ -1,25 +1,40 @@
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-09-02 03:32:09.000000000 +0200
+++ work/kernel/common/inc/nv-linux.h 2016-09-12 21:18:48.100329700 +0200
@@ -1312,6 +1312,9 @@ extern void *nvidia_stack_t_cache;
--- 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-09-02 03:32:09.000000000 +0200
+++ work/kernel/common/inc/nv-modeset-interface.h 2016-09-13 01:57:32.351888874 +0200
--- 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;
+// const char *version_string;
/*
* Return system information.
@ -32,8 +47,8 @@ diff -urp work.orig/kernel/common/inc/nv-modeset-interface.h work/kernel/common/
#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-09-02 03:32:09.000000000 +0200
+++ work/kernel/common/inc/nv-register-module.h 2016-09-12 21:17:30.880331735 +0200
--- 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);
@ -44,22 +59,20 @@ diff -urp work.orig/kernel/common/inc/nv-register-module.h work/kernel/common/in
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-09-02 03:32:09.000000000 +0200
+++ work/kernel/nvidia/nv.c 2016-09-12 21:19:25.868328704 +0200
@@ -660,8 +660,8 @@ int __init nvidia_init_module(void)
--- 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);
+ nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE_USERCOPY(nvidia_stack_cache_name,
+ nvidia_stack_t);
nvidia_stack_t);
if (nvidia_stack_t_cache == NULL)
{
nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
diff -urp work.orig/kernel/nvidia/nv-chrdev.c work/kernel/nvidia/nv-chrdev.c
--- work.orig/kernel/nvidia/nv-chrdev.c 2016-09-02 03:32:09.000000000 +0200
+++ work/kernel/nvidia/nv-chrdev.c 2016-09-12 21:17:03.204332465 +0200
--- 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;
@ -70,8 +83,8 @@ diff -urp work.orig/kernel/nvidia/nv-chrdev.c work/kernel/nvidia/nv-chrdev.c
}
diff -urp work.orig/kernel/nvidia/nv-instance.c work/kernel/nvidia/nv-instance.c
--- work.orig/kernel/nvidia/nv-instance.c 2016-09-02 03:32:09.000000000 +0200
+++ work/kernel/nvidia/nv-instance.c 2016-09-12 21:16:42.268333017 +0200
--- 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,
@ -81,9 +94,9 @@ diff -urp work.orig/kernel/nvidia/nv-instance.c work/kernel/nvidia/nv-instance.c
.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-09-02 03:32:09.000000000 +0200
+++ work/kernel/nvidia/nv-mmap.c 2016-09-13 02:18:54.459855079 +0200
@@ -113,12 +113,12 @@ nvidia_vma_release(struct vm_area_struct
--- 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)
@ -99,8 +112,8 @@ diff -urp work.orig/kernel/nvidia/nv-mmap.c work/kernel/nvidia/nv-mmap.c
)
{
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-09-02 03:32:09.000000000 +0200
+++ work/kernel/nvidia/nv-modeset-interface.c 2016-09-13 02:01:46.519882174 +0200
--- 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;
}
@ -110,15 +123,28 @@ diff -urp work.orig/kernel/nvidia/nv-modeset-interface.c work/kernel/nvidia/nv-m
{
- const nvidia_modeset_rm_ops_t local_rm_ops = {
- .version_string = NV_VERSION_STRING,
+ static nvidia_modeset_rm_ops_t local_rm_ops = {
+ static const nvidia_modeset_rm_ops_t local_rm_ops = {
.system_info = {
.allow_write_combining = NV_FALSE,
},
@@ -116,16 +115,16 @@ NV_STATUS nvidia_get_rm_ops(nvidia_modes
@@ -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;
@ -127,27 +153,27 @@ diff -urp work.orig/kernel/nvidia/nv-modeset-interface.c work/kernel/nvidia/nv-m
}
- *rm_ops = local_rm_ops;
+ *rm_ops = (const nvidia_modeset_rm_ops_t *) &local_rm_ops;
if (NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER)) {
-
- if (NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER)) {
- rm_ops->system_info.allow_write_combining = NV_TRUE;
+ local_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-09-02 03:33:06.000000000 +0200
+++ work/kernel/nvidia-drm/nvidia-drm-drv.c 2016-09-12 21:23:12.280322736 +0200
@@ -612,7 +612,7 @@ static const struct drm_ioctl_desc nv_dr
--- 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 = {
+static drm_driver_no_const nv_drm_driver __read_only = {
.driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_RENDER,
@@ -673,6 +673,7 @@ static void nvidia_update_drm_driver_fea
@@ -654,6 +654,7 @@ static void nvidia_update_drm_driver_fea
return;
}
@ -155,24 +181,23 @@ diff -urp work.orig/kernel/nvidia-drm/nvidia-drm-drv.c work/kernel/nvidia-drm/nv
nv_drm_driver.driver_features |= DRIVER_MODESET | DRIVER_ATOMIC;
nv_drm_driver.master_set = nvidia_drm_master_set;
@@ -681,6 +682,7 @@ static void nvidia_update_drm_driver_fea
nv_drm_driver.dumb_create = nvidia_drm_dumb_create;
nv_drm_driver.dumb_map_offset = nvidia_drm_dumb_map_offset;
@@ -664,6 +665,7 @@ static void nvidia_update_drm_driver_fea
nv_drm_driver.dumb_destroy = drm_gem_dumb_destroy;
+ pax_close_kernel();
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-09-02 03:33:06.000000000 +0200
+++ work/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-09-13 02:14:23.111862232 +0200
@@ -322,29 +322,29 @@ static void nvkms_resume(NvU32 gpuId)
--- 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
@ -184,7 +209,7 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
{
NV_STATUS nvstatus;
int ret;
+ const char * version_string = NV_VERSION_STRING;
+ const char *version_string = NV_VERSION_STRING;
- __rm_ops.version_string = NV_VERSION_STRING;
-
@ -195,7 +220,7 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
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);
+ version_string, NV_VERSION_STRING);
return -EINVAL;
}
@ -204,7 +229,7 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
if (ret < 0) {
printk(KERN_ERR NVKMS_LOG_PREFIX "Failed to register callbacks\n");
return ret;
@@ -355,20 +355,20 @@ static int nvkms_alloc_rm(void)
@@ -368,20 +367,20 @@ static int nvkms_alloc_rm(void)
static void nvkms_free_rm(void)
{
@ -229,7 +254,7 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
}
/*************************************************************************
@@ -690,13 +690,13 @@ NvBool NVKMS_API_CALL nvkms_open_gpu(NvU
@@ -705,13 +704,13 @@ NvBool NVKMS_API_CALL nvkms_open_gpu(NvU
nvidia_modeset_stack_ptr stack = NULL;
NvBool ret;
@ -246,7 +271,7 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
return ret;
}
@@ -705,23 +705,23 @@ void NVKMS_API_CALL nvkms_close_gpu(NvU3
@@ -720,23 +719,23 @@ void NVKMS_API_CALL nvkms_close_gpu(NvU3
{
nvidia_modeset_stack_ptr stack = NULL;
@ -276,8 +301,8 @@ diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvi
/*************************************************************************
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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm8_global.c 2016-09-13 01:43:42.647910744 +0200
--- 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"
@ -302,17 +327,8 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm8_global.c work/kernel/nvidia-uvm/uvm8_
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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm8_gpu_semaphore.c 2016-09-13 01:44:14.019909917 +0200
@@ -352,7 +352,7 @@ NvU64 uvm_gpu_semaphore_get_gpu_va(uvm_g
NvU32 uvm_gpu_semaphore_get_payload(uvm_gpu_semaphore_t *semaphore)
{
- return ACCESS_ONCE(*semaphore->payload);
+ return ACCESS_ONCE_RW(*semaphore->payload);
}
void uvm_gpu_semaphore_set_payload(uvm_gpu_semaphore_t *semaphore, NvU32 payload)
--- 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).
@ -323,8 +339,8 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm8_gpu_semaphore.c work/kernel/nvidia-uv
// 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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm8_hal.h 2016-09-13 01:44:46.219909068 +0200
--- 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;
@ -335,8 +351,8 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm8_hal.h work/kernel/nvidia-uvm/uvm8_hal
// 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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm8_mmu.h 2016-09-13 01:45:09.119908464 +0200
--- 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__
@ -346,9 +362,9 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm8_mmu.h work/kernel/nvidia-uvm/uvm8_mmu
#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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm_common.c 2016-09-13 02:07:06.967873728 +0200
@@ -51,7 +51,6 @@
--- 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;
@ -356,30 +372,17 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm_common.c work/kernel/nvidia-uvm/uvm_co
static char* uvm_driver_mode = "8";
@@ -178,8 +177,10 @@ static NV_STATUS uvmSetupGpuProvider(voi
{
NV_STATUS status = NV_OK;
- g_exportedUvmOps.startDevice = uvm_gpu_event_start_device;
- g_exportedUvmOps.stopDevice = uvm_gpu_event_stop_device;
+ static struct UvmOpsUvmEvents g_exportedUvmOps = {
+ .startDevice = uvm_gpu_event_start_device,
+ .stopDevice = uvm_gpu_event_stop_device,
+ };
// call RM to exchange the function pointers.
status = nvUvmInterfaceRegisterUvmCallbacks(&g_exportedUvmOps);
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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm_full_fault_buffer.h 2016-09-13 02:14:43.967861682 +0200
@@ -30,6 +30,7 @@
#ifndef _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 <linux/compiler.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;
@ -390,8 +393,8 @@ diff -urp work.orig/kernel/nvidia-uvm/uvm_full_fault_buffer.h work/kernel/nvidia
/******************************************************************************
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-09-02 03:30:48.000000000 +0200
+++ work/kernel/nvidia-uvm/uvm_linux.h 2016-09-13 01:47:41.487904448 +0200
--- 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.

View File

@ -0,0 +1,11 @@
--- a/nvidia-application-profiles-375.26-rc
+++ b/nvidia-application-profiles-375.26-rc
@@ -48,7 +48,7 @@
{
"name" : "NoEnforceShaderInputOutputMatching",
"settings" : [ "GLShaderPortabilityWarnings", false ]
- },
+ }
],
"rules" : [
{

View File

@ -2,8 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=6
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
portability toolchain-funcs unpacker user udev
@ -22,12 +21,14 @@ SRC_URI="
arm? ( ${NV_URI}Linux-x86-ARM/${PV}/${ARM_NV_PACKAGE}.run )
x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
tools? ( ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2 )
tools? (
ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
)
"
LICENSE="GPL-2 NVIDIA-r2"
SLOT="0/${PV%.*}"
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
RESTRICT="bindist mirror"
EMULTILIB_PKG="true"
@ -70,7 +71,7 @@ RDEPEND="
tools? ( !media-video/nvidia-settings )
wayland? ( dev-libs/wayland )
X? (
<x11-base/xorg-server-1.18.99:=
<x11-base/xorg-server-1.19.99:=
>=x11-libs/libvdpau-1.0
multilib? (
>=x11-libs/libX11-1.6.2[abi_x86_32]
@ -90,11 +91,11 @@ pkg_pretend() {
die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
fi
if use kernel_linux && kernel_is ge 4 8; then
if use kernel_linux && kernel_is ge 4 10; then
ewarn "Gentoo supports kernels which are supported by NVIDIA"
ewarn "which are limited to the following kernels:"
ewarn "<sys-kernel/gentoo-sources-4.8"
ewarn "<sys-kernel/vanilla-sources-4.8"
ewarn "<sys-kernel/gentoo-sources-4.10"
ewarn "<sys-kernel/vanilla-sources-4.10"
ewarn ""
ewarn "You are free to utilize epatch_user to provide whatever"
ewarn "support you feel is appropriate, but will not receive"
@ -170,17 +171,17 @@ pkg_setup() {
}
src_prepare() {
epatch "${FILESDIR}"/${P}-profiles-rc.patch
eapply "${FILESDIR}"/${P}-profiles-rc.patch
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."
epatch "${FILESDIR}"/${PN}-370.28-pax.patch
eapply "${FILESDIR}"/${P}-pax.patch
fi
# Allow user patches so they can support RC kernels and whatever else
epatch_user
eapply_user
}
src_compile() {
@ -317,7 +318,6 @@ src_install() {
fi
# Documentation
dohtml ${NV_DOC}/html/*
if use kernel_FreeBSD; then
dodoc "${NV_DOC}/README"
use X && doman "${NV_MAN}/nvidia-xconfig.1"
@ -332,11 +332,17 @@ src_install() {
doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
fi
docinto html
dodoc -r ${NV_DOC}/html/*
# Helper Apps
exeinto /opt/bin/
if use X; then
doexe ${NV_OBJ}/nvidia-xconfig
insinto /etc/vulkan/icd.d
doins nvidia_icd.json
fi
if use kernel_linux; then
@ -393,9 +399,6 @@ src_install() {
exeinto /etc/X11/xinit/xinitrc.d
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
insinto /etc/vulkan/icd.d
doins nvidia_icd.json
fi
dobin ${NV_OBJ}/nvidia-bug-report.sh