summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen White2017-11-26 10:22:54 +0100
committerBen White2017-11-26 10:22:54 +0100
commitfa7bc6621a55852893097df4d1e877469d80add0 (patch)
treed0a452a9d80bfcdcf4af712c15846ebcd98ee838
parent889dc3e310659f3f6fddc49cb8cca39945390968 (diff)
downloadaur-fa7bc6621a55852893097df4d1e877469d80add0.tar.gz
Working on a clean install of 12.5.8
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD6
-rw-r--r--vmmon-12.5.8-4.13.12.patch62
-rw-r--r--vmnet-12.5.8-4.13.12.patch17
-rw-r--r--vmware-patch.sh7
5 files changed, 82 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 71d57e894e26..1673c4ea01ac 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = vmware-patch
pkgdesc = A post-install configuration solution for VMware Workstation (Pro) and Player (Plus and Pro)
pkgver = 14.0.0
- pkgrel = 4
+ pkgrel = 5
url = https://wiki.archlinux.org/index.php/VMware#Configuration
install = vmware-patch.install
arch = i686
@@ -45,7 +45,7 @@ pkgbase = vmware-patch
source = vmnet-10.0.4-3.14.patch
source = vsock-10.0.4-3.14.patch
source = vmnet-10.0.1-3.13.patch
- md5sums = f116133678419f2281c59e390e42152e
+ md5sums = 5242a190e20e6366fd90a745a2b8410c
md5sums = ba054b375308442d43a408dbae5e9401
md5sums = ca1382966804d694894539c7bcac6bbb
md5sums = c12e765985b324585a548718a6ac9b43
@@ -54,7 +54,7 @@ pkgbase = vmware-patch
md5sums = 3c165edb6847fc9bfa04657f346ac4cc
md5sums = eca2542e4c484ea2ca06b7e9c065b8af
md5sums = ced58cf32a21adfe21d612366c52116a
- md5sums = dc020c9dea90f28a69c8957a482f6c12
+ md5sums = 05932f9797d1c3cca52f4d523d6f759d
md5sums = 3c165edb6847fc9bfa04657f346ac4cc
md5sums = eca2542e4c484ea2ca06b7e9c065b8af
md5sums = a2c3e2bbbe6dcbf66737a5e33df5b892
diff --git a/PKGBUILD b/PKGBUILD
index 59d8ae532edc..42c882904db5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=vmware-patch
pkgver=14.0.0
-pkgrel=4
+pkgrel=5
pkgdesc="A post-install configuration solution for VMware Workstation (Pro) and Player (Plus and Pro)"
arch=('i686' 'x86_64')
url="https://wiki.archlinux.org/index.php/VMware#Configuration"
@@ -70,7 +70,7 @@ package() {
}
# Generated using 'updpkgsums'
-md5sums=('f116133678419f2281c59e390e42152e'
+md5sums=('5242a190e20e6366fd90a745a2b8410c'
'ba054b375308442d43a408dbae5e9401'
'ca1382966804d694894539c7bcac6bbb'
'c12e765985b324585a548718a6ac9b43'
@@ -79,7 +79,7 @@ md5sums=('f116133678419f2281c59e390e42152e'
'3c165edb6847fc9bfa04657f346ac4cc'
'eca2542e4c484ea2ca06b7e9c065b8af'
'ced58cf32a21adfe21d612366c52116a'
- 'dc020c9dea90f28a69c8957a482f6c12'
+ '05932f9797d1c3cca52f4d523d6f759d'
'3c165edb6847fc9bfa04657f346ac4cc'
'eca2542e4c484ea2ca06b7e9c065b8af'
'a2c3e2bbbe6dcbf66737a5e33df5b892'
diff --git a/vmmon-12.5.8-4.13.12.patch b/vmmon-12.5.8-4.13.12.patch
new file mode 100644
index 000000000000..756fa66fa3cc
--- /dev/null
+++ b/vmmon-12.5.8-4.13.12.patch
@@ -0,0 +1,62 @@
+diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
+--- vmmon-only/linux/hostif.c
++++ vmmon-only/linux/hostif.c
+@@ -99,6 +99,37 @@
+ #include "vmmonInt.h"
+ #include "versioned_atomic.h"
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
++#define global_zone_page_state global_page_state
++#endif
++
++static unsigned long get_nr_slab_unreclaimable(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
++ return global_node_page_state(NR_SLAB_UNRECLAIMABLE);
++#else
++ return global_page_state(NR_SLAB_UNRECLAIMABLE);
++#endif
++}
++
++static unsigned long get_nr_unevictable(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ return global_node_page_state(NR_UNEVICTABLE);
++#else
++ return global_page_state(NR_UNEVICTABLE);
++#endif
++}
++
++static unsigned long get_nr_anon_mapped(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ return global_node_page_state(NR_ANON_MAPPED);
++#else
++ return global_page_state(NR_ANON_PAGES);
++#endif
++}
++
+ /*
+ * Determine if we can use high resolution timers.
+ */
+@@ -1594,16 +1625,11 @@ HostIF_EstimateLockedPageLimit(const VMDriver* vm, // IN
+ unsigned int reservedPages = MEMDEFAULTS_MIN_HOST_PAGES;
+ unsigned int hugePages = (vm == NULL) ? 0 :
+ BYTES_2_PAGES(vm->memInfo.hugePageBytes);
+- unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
+- global_page_state(NR_SLAB_UNRECLAIMABLE) +
+- global_page_state(NR_UNEVICTABLE) +
++ unsigned int lockedPages = global_zone_page_state(NR_PAGETABLE) +
++ get_nr_slab_unreclaimable() +
++ get_nr_unevictable() +
+ hugePages + reservedPages;
+- unsigned int anonPages =
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+- global_page_state(NR_ANON_MAPPED);
+-#else
+- global_page_state(NR_ANON_PAGES);
+-#endif
++ unsigned int anonPages = get_nr_anon_mapped();
+ unsigned int swapPages = BYTES_2_PAGES(linuxState.swapSize);
+
+ if (anonPages > swapPages) {
diff --git a/vmnet-12.5.8-4.13.12.patch b/vmnet-12.5.8-4.13.12.patch
index bede505655ca..ccbac9721fd4 100644
--- a/vmnet-12.5.8-4.13.12.patch
+++ b/vmnet-12.5.8-4.13.12.patch
@@ -1,14 +1,13 @@
-diff --git a/vmnet-only/bridge.c b/vmnet-only/bridge.c
-index 8cdaf11..e3de9f2 100644
+diff --git a/bridge.c b/bridge.c2
+index 8cdaf11..83ae152 100644
--- vmnet-only/bridge.c
+++ vmnet-only/bridge.c
@@ -636,7 +636,7 @@ VNetBridgeReceiveFromVNet(VNetJack *this, // IN: jack
- unsigned long flags;
- int i;
+ unsigned long flags;
+ int i;
-- atomic_inc(&clone->users);
-+ clone=skb_get(clone);
+- atomic_inc(&clone->users);
++ clone = skb_get(clone);
- clone->dev = dev;
- clone->protocol = eth_type_trans(clone, dev);
-
+ clone->dev = dev;
+ clone->protocol = eth_type_trans(clone, dev);
diff --git a/vmware-patch.sh b/vmware-patch.sh
index 2c9e4421ed9d..0e8d4ee28e0f 100644
--- a/vmware-patch.sh
+++ b/vmware-patch.sh
@@ -152,11 +152,16 @@ for kernel in ${kernels[@]}; do
fi
# Is product version not lower and kernel version not higher in patch name?
- if (( $(vercmp "$ver_patch" "$ver2") <= 0 )) && (( $(vercmp "$kernel_patch" "$kernel_major") >= 0 )); then
+ if (( $(vercmp "$ver_patch" "$ver2") == 0 )) && (( $(vercmp "$kernel_patch" "$kernel_major") >= 0 )); then
+ printf 'Patch: %s, %s\n' "$ver_patch" "$ver2"
+ printf 'Kernel: %s, %s\n' "$kernel_patch" "$kernel_major"
patches+=("$patch")
fi
done
+ # Debug print to see patches before application.
+ printf '%s\n' "${patches[@]}"
+
# Patch
# 1) Make sure we can build
# 2) &>/dev/null: hide all output (STDIN/STDERR)