From f0d2d07f7592531eab46fb5b86d58b29bf206d0b Mon Sep 17 00:00:00 2001 From: Joshua Baergen Date: Thu, 6 Jul 2017 12:23:43 -0600 Subject: 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(+) create mode 100644 app-emulation/vmware-modules/files/308-4.12-00-vmblock-current_time.patch create mode 100644 app-emulation/vmware-modules/files/308-4.12-01-vmci-do_once.patch create mode 100644 app-emulation/vmware-modules/files/308-4.12-02-vmci-pci_enable_msix.patch 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 -- cgit v1.2.3-65-gdbad