Determine architecture via 'uname -m'
[virt-what.git] / virt-what.in
index a05e0db..2011ff4 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh -
 # @configure_input@
-# Copyright (C) 2008-2015 Red Hat Inc.
+# Copyright (C) 2008-2017 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -102,9 +102,9 @@ cpuid=$(virt-what-cpuid-helper)
 dmi=$(LANG=C dmidecode 2>&1)
 
 # Architecture.
-# Note for the purpose of testing, we only call uname with -p option.
+# Note for the purpose of testing, we only call uname with -m option.
 
-arch=$(uname -p | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
+arch=$(uname -m | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
 
 # Check for VMware.
 # cpuid check added by Chetan Loke.
@@ -223,7 +223,8 @@ fi
 
 # Check for Xen.
 
-if [ "$cpuid" = "XenVMMXenVMM" ]; then
+if [ "$cpuid" = "XenVMMXenVMM" ] &&
+    ! echo "$dmi" | grep -q 'No SMBIOS nor DMI entry point found, sorry'; then
     echo xen; echo xen-hvm
     # Check for AWS
     if echo "$dmi" | grep -q 'Version: [0-9]\.[0-9]\.amazon'; then
@@ -338,7 +339,7 @@ fi
 # example /proc/ppc64/lparcfg systemtype line
 # system_type=IBM pSeries (emulated by qemu)
 
-if [ "$arch" = "ppc64" ]; then
+if [ "$arch" = "ppc64" ] || [ "$arch" = "ppc64le" ] ; then
     if have_cpuinfo && grep -q 'platform.**pSeries' "${root}/proc/cpuinfo"; then
         if grep -q 'model.*emulated by qemu' "${root}/proc/cpuinfo"; then
                 echo ibm_power-kvm