summaryrefslogtreecommitdiffstats
path: root/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
diff options
context:
space:
mode:
Diffstat (limited to 'core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version')
-rwxr-xr-xcore/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version b/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
new file mode 100755
index 00000000..82bd7d50
--- /dev/null
+++ b/core/modules/vmware-version-check/data/opt/openslx/bin/vmware-get-supported-version
@@ -0,0 +1,22 @@
+#!/bin/ash
+# This script checks whether given VMware version supports the CPU:
+# * Intel: check for "VMX Unrestricted Guest" CPU flag
+# * AMD: check if CPU family is Bulldozer or newer
+
+export PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin
+
+get_supported_version() {
+ local vendor="$( awk '$1 == "vendor_id" {print $NF;exit}' /proc/cpuinfo )"
+ local version=12
+ if [ "$vendor" = "GenuineIntel" ]; then
+ modprobe msr
+ flag="$( rdmsr --bitfield 5:5 0x485 )"
+ [ "$flag" = 1 ] && version=15
+ elif [ "$vendor" = "AuthenticAMD" ]; then
+ family="$( awk '$1$2 == "cpufamily" {print $NF;exit}' /proc/cpuinfo )"
+ [ "$family" -ge 21 ] && version=15
+ fi
+ echo "$version"
+}
+
+get_supported_version