commit: f52a32ebbed4e06c26456ca69a0a837aeb1ff90c
Author: Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Fri Nov 3 23:31:24 2017 +0000
Commit: Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Nov 3 23:31:24 2017 +0000
URL: https://gitweb.gentoo.org/proj/vmware.git/commit/?id=f52a32eb
app-emulation/vmware-modules: add support to kernel 4.14
Added two patches to build vmware-modules with latest 4.14-rcX
One patch tracks kernel changes introduced with
c41f012ade0b95b0a6e25c7150673e0554736165.
The other patch fixes changes introduced with
7c0f6ba682b9c7632072ffbedf8d328c8f3c42ba
(in this case kernel changes were already available since kernel 4.10
but they produced a build failure only with kernel 4.14-rcX)
.../308-4.14-00-vmmon-global-page-state.patch | 14 ++++++
.../files/308-4.14-01-deprecated-asm-uaccess.patch | 50 ++++++++++++++++++++++
.../vmware-modules/vmware-modules-308.5.7.ebuild | 2 +
3 files changed, 66 insertions(+)
diff --git
a/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch
b/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch
new file mode 100644
index 0000000..85de302
--- /dev/null
+++
b/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch
@@ -0,0 +1,14 @@
+--- vmmon-only/linux/hostif.c 2017-10-26 00:46:14.312597372 +0200
++++ vmmon-only/linux/hostif.c.new 2017-10-26 00:49:16.419607555 +0200
+@@ -1595,7 +1595,11 @@
+ unsigned int reservedPages = MEMDEFAULTS_MIN_HOST_PAGES;
+ unsigned int hugePages = (vm == NULL) ? 0 :
+ BYTES_2_PAGES(vm->memInfo.hugePageBytes);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ unsigned int lockedPages = global_zone_page_state(NR_PAGETABLE) +
++#else
+ unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
+ global_node_page_state(NR_SLAB_UNRECLAIMABLE) +
+ #else
diff --git
a/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch
b/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch
new file mode 100644
index 0000000..4ee38f9
--- /dev/null
+++
b/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch
@@ -0,0 +1,50 @@
+--- vmblock-only/linux/control.c 2017-10-26 00:35:44.391562150 +0200
++++ vmblock-only/linux/control.c.new 2017-10-26 00:44:31.803591641 +0200
+@@ -29,7 +29,7 @@
+ #include <linux/stat.h>
+ #include <linux/fs.h>
+
+-#include <asm/uaccess.h>
++#include <linux/uaccess.h>
+
+ #include "vmblockInt.h"
+ #include "block.h"
+--- ./vsock-only/shared/compat_uaccess.h 2017-06-20 04:29:39.000000000
+0200
++++ ./vsock-only/shared/compat_uaccess.h.new 2017-10-26 01:09:20.867674903
+0200
+@@ -21,7 +21,9 @@
+
+
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++# include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ # include <asm/uaccess.h>
+ #else
+ # include <asm/segment.h>
+--- ./vmci-only/shared/compat_uaccess.h 2017-06-20 04:29:39.000000000
+0200
++++ ./vmci-only/shared/compat_uaccess.h.new 2017-10-26 01:08:43.547672817
+0200
+@@ -21,7 +21,9 @@
+
+
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++# include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ # include <asm/uaccess.h>
+ #else
+ # include <asm/segment.h>
+--- ./vmblock-only/shared/compat_uaccess.h 2017-06-20 04:29:39.000000000
+0200
++++ ./vmblock-only/shared/compat_uaccess.h.new 2017-10-26 01:07:48.915669762
+0200
+@@ -21,7 +21,9 @@
+
+
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++# include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ # include <asm/uaccess.h>
+ #else
+ # include <asm/segment.h>
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 8987a1d..0f74914 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -112,6 +112,8 @@ src_prepare() {
kernel_is ge 4 12 0 && epatch
"${FILESDIR}/${PV_MAJOR}-4.12-02-vmci-pci_enable_msix.patch"
kernel_is ge 4 13 0 && epatch
"${FILESDIR}/${PV_MAJOR}-4.13-00-vmnet-refcount.patch"
kernel_is ge 4 13 0 && epatch
"${FILESDIR}/${PV_MAJOR}-4.13-01-vmmon-fix-page-accounting.patch"
+ kernel_is ge 4 14 0 && epatch
"${FILESDIR}/${PV_MAJOR}-4.14-00-vmmon-global-page-state.patch"
+ kernel_is ge 4 14 0 && epatch
"${FILESDIR}/${PV_MAJOR}-4.14-01-deprecated-asm-uaccess.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user