commit:     f0d2d07f7592531eab46fb5b86d58b29bf206d0b
Author:     Joshua Baergen <joshua.baergen <AT> emc <DOT> com>
AuthorDate: Thu Jul  6 18:23:43 2017 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Jul  6 18:23:50 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=f0d2d07f

app-emulation/vmware-modules: add support to kernel 4.12

 .../files/308-4.12-00-vmblock-current_time.patch       | 11 +++++++++++
 .../files/308-4.12-01-vmci-do_once.patch               | 18 ++++++++++++++++++
 .../files/308-4.12-02-vmci-pci_enable_msix.patch       | 17 +++++++++++++++++
 .../vmware-modules/vmware-modules-308.5.7.ebuild       |  3 +++
 4 files changed, 49 insertions(+)

diff --git 
a/app-emulation/vmware-modules/files/308-4.12-00-vmblock-current_time.patch 
b/app-emulation/vmware-modules/files/308-4.12-00-vmblock-current_time.patch
new file mode 100644
index 0000000..f39b862
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.12-00-vmblock-current_time.patch
@@ -0,0 +1,11 @@
+--- ./vmblock-only/linux/inode.c       2017-07-06 11:47:09.496190133 -0600
++++ ./vmblock-only/linux/inode.c.new   2017-07-06 11:55:53.212410091 -0600
+@@ -156,7 +156,7 @@
+    inode->i_mode = S_IFLNK | S_IRWXUGO;
+    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
+    inode->i_version = 1;
+-   inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
++   inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+    inode->i_uid = inode->i_gid = 0;
+ #else

diff --git a/app-emulation/vmware-modules/files/308-4.12-01-vmci-do_once.patch 
b/app-emulation/vmware-modules/files/308-4.12-01-vmci-do_once.patch
new file mode 100644
index 0000000..e91f047
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.12-01-vmci-do_once.patch
@@ -0,0 +1,18 @@
+--- vmci-only/shared/vm_basic_defs.h   2017-06-19 20:29:40.000000000 -0600
++++ vmci-only/shared/vm_basic_defs.h.new       2017-07-06 12:11:37.146017203 
-0600
+@@ -720,6 +720,7 @@
+                                                      lfMessageFont)
+ 
+ /* This is not intended to be thread-safe. */
++#ifndef DO_ONCE
+ #define DO_ONCE(code)                                                   \
+    do {                                                                 \
+       static Bool _doOnceDone = FALSE;                                  \
+@@ -728,6 +729,7 @@
+          code;                                                          \
+       }                                                                 \
+    } while (0)
++#endif
+ 
+ /*
+  * Bug 827422 and 838523.

diff --git 
a/app-emulation/vmware-modules/files/308-4.12-02-vmci-pci_enable_msix.patch 
b/app-emulation/vmware-modules/files/308-4.12-02-vmci-pci_enable_msix.patch
new file mode 100644
index 0000000..a4ce13a
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.12-02-vmci-pci_enable_msix.patch
@@ -0,0 +1,17 @@
+--- ./vmci-only/linux/driver.c 2017-07-06 12:12:38.860458601 -0600
++++ ./vmci-only/linux/driver.c.new     2017-07-06 12:21:09.986139888 -0600
+@@ -1726,11 +1726,11 @@
+       vmci_dev.msix_entries[i].vector = i;
+    }
+ 
+-   result = pci_enable_msix(pdev, vmci_dev.msix_entries, VMCI_MAX_INTRS);
++   result = pci_enable_msix_exact(pdev, vmci_dev.msix_entries, 
VMCI_MAX_INTRS);
+    if (!result) {
+       vmci_dev.exclusive_vectors = TRUE;
+-   } else if (result > 0) {
+-      result = pci_enable_msix(pdev, vmci_dev.msix_entries, 1);
++   } else {
++      result = pci_enable_msix_exact(pdev, vmci_dev.msix_entries, 1);
+    }
+    return result;
+ }

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild 
b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
index 351dec4..ad6b45c 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -107,6 +107,9 @@ src_prepare() {
        kernel_is ge 4 10 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.10-00-generic_readlink.patch"
        kernel_is ge 4 11 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.11-00-missing-headers.patch"
        kernel_is ge 4 11 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.11-01-vsock-lockdep.patch"
+       kernel_is ge 4 12 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.12-00-vmblock-current_time.patch"
+       kernel_is ge 4 12 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.12-01-vmci-do_once.patch"
+       kernel_is ge 4 12 0 && epatch 
"${FILESDIR}/${PV_MAJOR}-4.12-02-vmci-pci_enable_msix.patch"
 
        # Allow user patches so they can support RC kernels and whatever else
        epatch_user

Reply via email to