import virt-what-1.18-12.el8
This commit is contained in:
parent
176519fd26
commit
cdfa675964
@ -1,7 +1,7 @@
|
||||
From eefc1e7e3dd8fb422baf0f13aec1df9880541b83 Mon Sep 17 00:00:00 2001
|
||||
From: Jasper Lievisse Adriaanse <bug@jasper.la>
|
||||
Date: Thu, 10 Aug 2017 08:44:01 +0100
|
||||
Subject: [PATCH 01/12] Missing have_cpuinfo check.
|
||||
Subject: [PATCH 01/22] Missing have_cpuinfo check.
|
||||
|
||||
---
|
||||
virt-what.in | 2 +-
|
||||
@ -21,5 +21,5 @@ index 8c27b11..9050035 100644
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
60
SOURCES/0001-Simplify-and-fix-invocation-of-cpuid.patch
Normal file
60
SOURCES/0001-Simplify-and-fix-invocation-of-cpuid.patch
Normal file
@ -0,0 +1,60 @@
|
||||
From 60d903fbb7653bc9754228bdab4c6933fcda1e72 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 13 Apr 2021 09:35:07 +0100
|
||||
Subject: [PATCH] Simplify and fix invocation of cpuid.
|
||||
|
||||
Fixes a crash on some platforms identified by Yongkui Guo in
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1756381#c15
|
||||
---
|
||||
virt-what-cpuid-helper.c | 24 ++++++++++++++++--------
|
||||
1 file changed, 16 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/virt-what-cpuid-helper.c b/virt-what-cpuid-helper.c
|
||||
index 9c6cdb2..fdceb62 100644
|
||||
--- a/virt-what-cpuid-helper.c
|
||||
+++ b/virt-what-cpuid-helper.c
|
||||
@@ -47,17 +47,25 @@ known_signature (const char *sig)
|
||||
0;
|
||||
}
|
||||
|
||||
+/* Copied from the Linux kernel definition in
|
||||
+ * arch/x86/include/asm/processor.h
|
||||
+ */
|
||||
+static inline void
|
||||
+cpuid (uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
|
||||
+{
|
||||
+ asm volatile ("cpuid"
|
||||
+ : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
|
||||
+ : "0" (*eax), "2" (*ecx)
|
||||
+ : "memory");
|
||||
+}
|
||||
+
|
||||
static uint32_t
|
||||
-cpuid (uint32_t eax, char *sig)
|
||||
+cpuid_leaf (uint32_t eax, char *sig)
|
||||
{
|
||||
uint32_t *sig32 = (uint32_t *) sig;
|
||||
|
||||
- asm volatile (
|
||||
- "xchgl %%ebx,%1; xor %%ebx,%%ebx; cpuid; xchgl %%ebx,%1"
|
||||
- : "=a" (eax), "+r" (sig32[0]), "=c" (sig32[1]), "=d" (sig32[2])
|
||||
- : "0" (eax));
|
||||
- sig[12] = 0;
|
||||
-
|
||||
+ cpuid (&eax, &sig32[0], &sig32[1], &sig32[2]);
|
||||
+ sig[12] = 0; /* \0-terminate the string to make string comparison possible */
|
||||
return eax;
|
||||
}
|
||||
|
||||
@@ -87,7 +95,7 @@ cpu_sig (void)
|
||||
*/
|
||||
for (leaf = base + 0xff00; leaf >= base; leaf -= 0x100) {
|
||||
memset (sig, 0, sizeof sig);
|
||||
- cpuid (leaf, sig);
|
||||
+ cpuid_leaf (leaf, sig);
|
||||
if (known_signature (sig)) {
|
||||
puts (sig);
|
||||
break;
|
||||
--
|
||||
2.29.0.rc2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9d90704a05dee7704470eff818a1c44aeef6c880 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
|
||||
Date: Fri, 4 Aug 2017 12:02:08 -0300
|
||||
Subject: [PATCH 02/12] Remove bashisms
|
||||
Subject: [PATCH 02/22] Remove bashisms
|
||||
|
||||
Use [ instead of [[ so we fall back to test if necessary:
|
||||
|
||||
@ -44,5 +44,5 @@ index 9050035..a05e0db 100644
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a821dc9961d457c086fffcc16a911cb6f9f8659a Mon Sep 17 00:00:00 2001
|
||||
From: xiliang <xiliang@redhat.com>
|
||||
Date: Sun, 18 Jun 2017 00:33:28 +0800
|
||||
Subject: [PATCH 03/12] As xen pv guest can access cpuid from Intel CPUs
|
||||
Subject: [PATCH 03/22] As xen pv guest can access cpuid from Intel CPUs
|
||||
started IvyBridge onwards have CPUID Faulting, added one more check in
|
||||
virt-what.
|
||||
|
||||
@ -32,5 +32,5 @@ index a05e0db..247348e 100644
|
||||
# Check for AWS
|
||||
if echo "$dmi" | grep -q 'Version: [0-9]\.[0-9]\.amazon'; then
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7db94c8fe63f2c7ec3ac27cc5ff54ec1e1686aeb Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 17 Oct 2017 14:47:09 +0100
|
||||
Subject: [PATCH 04/12] Recognize ppc64le (little endian) virtualization
|
||||
Subject: [PATCH 04/22] Recognize ppc64le (little endian) virtualization
|
||||
(RHBZ#1147876).
|
||||
|
||||
Tested by Laurent Vivier, see:
|
||||
@ -24,5 +24,5 @@ index 247348e..29b7b0d 100644
|
||||
if grep -q 'model.*emulated by qemu' "${root}/proc/cpuinfo"; then
|
||||
echo ibm_power-kvm
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 52870e8a264653d7921e8a4edff56d4b050614d8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
|
||||
Date: Sat, 27 Jan 2018 13:11:36 +0100
|
||||
Subject: [PATCH 05/12] Determine architecture via 'uname -m'
|
||||
Subject: [PATCH 05/22] Determine architecture via 'uname -m'
|
||||
|
||||
'uname -p' only gives unknown on x86_64, i386, arm6l (rpi) and aarch64
|
||||
(scaleways).
|
||||
@ -26,5 +26,5 @@ index 29b7b0d..2011ff4 100644
|
||||
# Check for VMware.
|
||||
# cpuid check added by Chetan Loke.
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d7fd8a7843030d2b1719353edfcd49dba3000122 Mon Sep 17 00:00:00 2001
|
||||
From: Jasper Lievisse Adriaanse <jasper@humppa.nl>
|
||||
Date: Wed, 25 Apr 2018 16:41:32 +0200
|
||||
Subject: [PATCH 06/12] Allow using sysctl, for example when /proc isn't
|
||||
Subject: [PATCH 06/22] Allow using sysctl, for example when /proc isn't
|
||||
available
|
||||
|
||||
---
|
||||
@ -40,5 +40,5 @@ index 2011ff4..d037a99 100644
|
||||
# This is known to fail for qemu with the explicit -cpu
|
||||
# option, since /proc/cpuinfo will not contain the QEMU
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5efe9f7a58cd0cdc6f4c279c7f0a69e57fbda56f Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 28 Aug 2018 18:32:41 +0100
|
||||
Subject: [PATCH 07/12] Replace == with = since the former is a bash-ism.
|
||||
Subject: [PATCH 07/22] Replace == with = since the former is a bash-ism.
|
||||
|
||||
Thanks: Eric Blake.
|
||||
|
||||
@ -24,5 +24,5 @@ index d037a99..a2f8f19 100644
|
||||
|
||||
fail () {
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 147c648e950ef45b7a5b7b3e8cb30b89c435593b Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:04:24 +0000
|
||||
Subject: [PATCH 08/12] aws: Detect AWS from dmidecode information.
|
||||
Subject: [PATCH 08/22] aws: Detect AWS from dmidecode information.
|
||||
|
||||
Move the AWS detection out from under Xen. AWS runs on KVM and
|
||||
baremetal these days. The dmidecode information for KVM and baremetal
|
||||
@ -75,5 +75,5 @@ index ebfc190..5a0bdfc 100644
|
||||
=item B<bhyve>
|
||||
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4bceb38a6102ca95bde79205efaa643a0824d3a2 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:35:34 +0000
|
||||
Subject: [PATCH 09/12] tests: Fix tests when run on AWS.
|
||||
Subject: [PATCH 09/22] tests: Fix tests when run on AWS.
|
||||
|
||||
When running on AWS two of the tests failed. This was because the
|
||||
tests did _not_ include a working dmidecode binary, hence the platform
|
||||
@ -28,5 +28,5 @@ diff --git a/tests/ppc64-baremetal/sbin/dmidecode b/tests/ppc64-baremetal/sbin/d
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 129a25f9854930928351c8cc3913a5b9a1c558b4 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:23:45 +0000
|
||||
Subject: [PATCH 10/12] aws: Add regression test for AWS on KVM on x86_64
|
||||
Subject: [PATCH 10/22] aws: Add regression test for AWS on KVM on x86_64
|
||||
architecture.
|
||||
|
||||
---
|
||||
@ -286,5 +286,5 @@ index 0000000..db4c19f
|
||||
+ exit 1
|
||||
+fi
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 298a15ead59c2dbeb9b2fabe7fb502100fdd4dc7 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:43:20 +0000
|
||||
Subject: [PATCH 11/12] aws: Add regression test for AWS on baremetal on x86_64
|
||||
Subject: [PATCH 11/22] aws: Add regression test for AWS on baremetal on x86_64
|
||||
architecture.
|
||||
|
||||
---
|
||||
@ -3231,5 +3231,5 @@ index 0000000..d456163
|
||||
+ exit 1
|
||||
+fi
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 350291e1ca417eab9d2aa2408589f0259cac007c Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:23:45 +0000
|
||||
Subject: [PATCH 12/12] aws: Add regression test for AWS on Xen on x86_64
|
||||
Subject: [PATCH 12/22] aws: Add regression test for AWS on Xen on x86_64
|
||||
architecture.
|
||||
|
||||
---
|
||||
@ -354,5 +354,5 @@ index 0000000..22b7f83
|
||||
+ exit 1
|
||||
+fi
|
||||
--
|
||||
2.19.0.rc0
|
||||
2.32.0
|
||||
|
||||
|
@ -0,0 +1,244 @@
|
||||
From f25e07d43db40355b321493f78758ea058fa3849 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 31 Oct 2018 15:23:45 +0000
|
||||
Subject: [PATCH 13/22] aws: Add regression test for AWS on KVM on ARM
|
||||
architecture.
|
||||
|
||||
---
|
||||
Makefile.am | 1 +
|
||||
tests/aws-kvm-arm/proc/cpuinfo | 9 +++
|
||||
tests/aws-kvm-arm/proc/self/status | 54 +++++++++++++++
|
||||
tests/aws-kvm-arm/sbin/dmidecode | 68 +++++++++++++++++++
|
||||
tests/aws-kvm-arm/sbin/uname | 2 +
|
||||
tests/aws-kvm-arm/sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/test-aws-kvm-arm.sh | 36 ++++++++++
|
||||
7 files changed, 172 insertions(+)
|
||||
create mode 100644 tests/aws-kvm-arm/proc/cpuinfo
|
||||
create mode 100644 tests/aws-kvm-arm/proc/self/status
|
||||
create mode 100755 tests/aws-kvm-arm/sbin/dmidecode
|
||||
create mode 100755 tests/aws-kvm-arm/sbin/uname
|
||||
create mode 100755 tests/aws-kvm-arm/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/test-aws-kvm-arm.sh
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 22680a0..67502fc 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -40,6 +40,7 @@ endif
|
||||
|
||||
TESTS = \
|
||||
tests/test-aws-baremetal-x86.sh \
|
||||
+ tests/test-aws-kvm-arm.sh \
|
||||
tests/test-aws-kvm-x86.sh \
|
||||
tests/test-aws-xen-x86.sh \
|
||||
tests/test-baremetal.sh \
|
||||
diff --git a/tests/aws-kvm-arm/proc/cpuinfo b/tests/aws-kvm-arm/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..bc5a5bb
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-arm/proc/cpuinfo
|
||||
@@ -0,0 +1,9 @@
|
||||
+processor : 0
|
||||
+BogoMIPS : 166.66
|
||||
+Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
|
||||
+CPU implementer : 0x41
|
||||
+CPU architecture: 8
|
||||
+CPU variant : 0x0
|
||||
+CPU part : 0xd08
|
||||
+CPU revision : 3
|
||||
+
|
||||
diff --git a/tests/aws-kvm-arm/proc/self/status b/tests/aws-kvm-arm/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..121a8cc
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-arm/proc/self/status
|
||||
@@ -0,0 +1,54 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 17874
|
||||
+Ngid: 0
|
||||
+Pid: 17874
|
||||
+PPid: 9992
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 256
|
||||
+Groups: 0
|
||||
+NStgid: 17874
|
||||
+NSpid: 17874
|
||||
+NSpgid: 17874
|
||||
+NSsid: 9992
|
||||
+VmPeak: 109760 kB
|
||||
+VmSize: 109760 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 832 kB
|
||||
+VmRSS: 832 kB
|
||||
+RssAnon: 448 kB
|
||||
+RssFile: 384 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 384 kB
|
||||
+VmStk: 192 kB
|
||||
+VmExe: 64 kB
|
||||
+VmLib: 1664 kB
|
||||
+VmPTE: 192 kB
|
||||
+VmPMD: 128 kB
|
||||
+VmSwap: 0 kB
|
||||
+HugetlbPages: 0 kB
|
||||
+Threads: 1
|
||||
+SigQ: 0/1470
|
||||
+SigPnd: 0000000000000000
|
||||
+ShdPnd: 0000000000000000
|
||||
+SigBlk: 0000000000000000
|
||||
+SigIgn: 0000000000000000
|
||||
+SigCgt: 0000000000000000
|
||||
+CapInh: 0000000000000000
|
||||
+CapPrm: 0000003fffffffff
|
||||
+CapEff: 0000003fffffffff
|
||||
+CapBnd: 0000003fffffffff
|
||||
+CapAmb: 0000000000000000
|
||||
+NoNewPrivs: 0
|
||||
+Seccomp: 0
|
||||
+Speculation Store Bypass: unknown
|
||||
+Cpus_allowed: 1
|
||||
+Cpus_allowed_list: 0
|
||||
+Mems_allowed: 1
|
||||
+Mems_allowed_list: 0
|
||||
+voluntary_ctxt_switches: 0
|
||||
+nonvoluntary_ctxt_switches: 0
|
||||
diff --git a/tests/aws-kvm-arm/sbin/dmidecode b/tests/aws-kvm-arm/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..d126758
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-arm/sbin/dmidecode
|
||||
@@ -0,0 +1,68 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+# dmidecode 3.1
|
||||
+Getting SMBIOS data from sysfs.
|
||||
+SMBIOS 2.7 present.
|
||||
+5 structures occupying 233 bytes.
|
||||
+Table at 0x7F780000.
|
||||
+
|
||||
+Handle 0x0000, DMI type 0, 24 bytes
|
||||
+BIOS Information
|
||||
+ Vendor: Amazon EC2
|
||||
+ Version: 1.0
|
||||
+ Release Date: 12/1/2018
|
||||
+ Address: 0xF0000
|
||||
+ Runtime Size: 64 kB
|
||||
+ ROM Size: 64 kB
|
||||
+ Characteristics:
|
||||
+ PCI is supported
|
||||
+ EDD is supported
|
||||
+ ACPI is supported
|
||||
+ System is a virtual machine
|
||||
+ BIOS Revision: 1.0
|
||||
+
|
||||
+Handle 0x0001, DMI type 1, 27 bytes
|
||||
+System Information
|
||||
+ Manufacturer: Amazon EC2
|
||||
+ Product Name: a1.medium
|
||||
+ Version: Not Specified
|
||||
+ Serial Number: ec2ce86a-12c2-9388-d9b0-8dc833cba752
|
||||
+ UUID: ec2ce86a-12c2-9388-d9b0-8dc833cba752
|
||||
+ Wake-up Type: Power Switch
|
||||
+ SKU Number: Not Specified
|
||||
+ Family: Not Specified
|
||||
+
|
||||
+Handle 0x0002, DMI type 2, 15 bytes
|
||||
+Base Board Information
|
||||
+ Manufacturer: Amazon EC2
|
||||
+ Product Name: Not Specified
|
||||
+ Version: Not Specified
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: i-01c1b85d3dcc02ed7
|
||||
+ Features: None
|
||||
+ Location In Chassis: Not Specified
|
||||
+ Chassis Handle: 0x0003
|
||||
+ Type: Other
|
||||
+ Contained Object Handles: 0
|
||||
+
|
||||
+Handle 0x0003, DMI type 3, 21 bytes
|
||||
+Chassis Information
|
||||
+ Manufacturer: Amazon EC2
|
||||
+ Type: Other
|
||||
+ Lock: Not Present
|
||||
+ Version: Not Specified
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Amazon EC2
|
||||
+ Boot-up State: Safe
|
||||
+ Power Supply State: Safe
|
||||
+ Thermal State: Safe
|
||||
+ Security Status: None
|
||||
+ OEM Information: 0x00000000
|
||||
+ Height: Unspecified
|
||||
+ Number Of Power Cords: 1
|
||||
+ Contained Elements: 0
|
||||
+
|
||||
+Handle 0xFEFF, DMI type 127, 4 bytes
|
||||
+End Of Table
|
||||
+
|
||||
+EOF
|
||||
diff --git a/tests/aws-kvm-arm/sbin/uname b/tests/aws-kvm-arm/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..bd33a2d
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-arm/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo aarch64
|
||||
diff --git a/tests/aws-kvm-arm/sbin/virt-what-cpuid-helper b/tests/aws-kvm-arm/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..4475399
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-arm/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+# prints nothing but exits successfully
|
||||
diff --git a/tests/test-aws-kvm-arm.sh b/tests/test-aws-kvm-arm.sh
|
||||
new file mode 100755
|
||||
index 0000000..8875421
|
||||
--- /dev/null
|
||||
+++ b/tests/test-aws-kvm-arm.sh
|
||||
@@ -0,0 +1,36 @@
|
||||
+# Test for AWS.
|
||||
+# Copyright (C) 2018 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
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+
|
||||
+root=tests/aws-kvm-arm
|
||||
+
|
||||
+output="$(./virt-what --test-root=$root 2>&1)"
|
||||
+# XXX At the moment KVM cannot be detected on this platform.
|
||||
+# We hope to fix that, but for now the only fact printed is "aws".
|
||||
+expected="aws"
|
||||
+
|
||||
+if [ "$output" != "$expected" ]; then
|
||||
+ echo "$0: test failed because output did not match expected"
|
||||
+ echo "Expected output was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$expected"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "But the actual output of the program was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$output"
|
||||
+ echo "----------------------------------------"
|
||||
+ exit 1
|
||||
+fi
|
||||
--
|
||||
2.32.0
|
||||
|
25
SOURCES/0014-build-Remove-files-on-make-clean.patch
Normal file
25
SOURCES/0014-build-Remove-files-on-make-clean.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 56427ce169d5a6dc46ed6c6555ee3f7c4e0843d6 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 3 Oct 2019 09:08:19 +0100
|
||||
Subject: [PATCH 14/22] build: Remove *~ files on make clean.
|
||||
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 67502fc..48fd518 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -15,7 +15,7 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
-CLEANFILES = virt-what
|
||||
+CLEANFILES = virt-what *~
|
||||
|
||||
AM_CPPFLAGS = -Wall
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
2386
SOURCES/0015-Arrange-tests-in-subdirectories.patch
Normal file
2386
SOURCES/0015-Arrange-tests-in-subdirectories.patch
Normal file
File diff suppressed because it is too large
Load Diff
26
SOURCES/0016-build-Add-.gitignore-to-tarball.patch
Normal file
26
SOURCES/0016-build-Add-.gitignore-to-tarball.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 5c2c251d9aae98e6a629b966bdd8cae2aa1dedaf Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 3 Oct 2019 10:16:08 +0100
|
||||
Subject: [PATCH 16/22] build: Add .gitignore to tarball.
|
||||
|
||||
Mainly to keep maintainer-check-extra-dist happy.
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index b62738f..1cb73b7 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -19,7 +19,7 @@ AM_CPPFLAGS = -Wall
|
||||
|
||||
CLEANFILES = virt-what *~
|
||||
|
||||
-EXTRA_DIST = virt-what.in virt-what.pod
|
||||
+EXTRA_DIST = .gitignore virt-what.in virt-what.pod
|
||||
|
||||
SUBDIRS = . tests
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
51
SOURCES/0017-maintainer-Add-rules-for-maintainers.patch
Normal file
51
SOURCES/0017-maintainer-Add-rules-for-maintainers.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From b6161b67b0bd542169e13cdfa0488a0266e3ae7a Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 3 Oct 2019 10:13:43 +0100
|
||||
Subject: [PATCH 17/22] maintainer: Add rules for maintainers.
|
||||
|
||||
Adds:
|
||||
make maintainer-check-extra-dist
|
||||
make maintainer-commit
|
||||
make maintainer-tag
|
||||
---
|
||||
Makefile.am | 27 +++++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 1cb73b7..5435132 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -41,3 +41,30 @@ virt-what.txt: virt-what.pod
|
||||
pod2text $? > $@
|
||||
|
||||
endif
|
||||
+
|
||||
+#----------------------------------------------------------------------
|
||||
+# Maintainers only!
|
||||
+
|
||||
+# Check no files are missing from EXTRA_DIST rules, and that all
|
||||
+# generated files have been included in the tarball. (Note you must
|
||||
+# have done 'make dist')
|
||||
+maintainer-check-extra-dist:
|
||||
+ @zcat $(PACKAGE_NAME)-$(VERSION).tar.gz | tar tf - | sort | \
|
||||
+ sed 's,^$(PACKAGE_NAME)-$(VERSION)/,,' > tarfiles
|
||||
+ @git ls-files | \
|
||||
+ sort > gitfiles
|
||||
+ @comm -13 tarfiles gitfiles > comm-out
|
||||
+ @echo Checking for differences between EXTRA_DIST and git ...
|
||||
+ @cat comm-out
|
||||
+ @[ ! -s comm-out ]
|
||||
+ @rm tarfiles gitfiles comm-out
|
||||
+ @echo PASS: EXTRA_DIST tests
|
||||
+
|
||||
+# Commit everything in the current directory and set the commit
|
||||
+# message to the current version number.
|
||||
+maintainer-commit:
|
||||
+ git commit -a -m "Version $(VERSION)."
|
||||
+
|
||||
+# Tag HEAD with the current version.
|
||||
+maintainer-tag:
|
||||
+ git tag -a v$(VERSION) -m "Version $(VERSION)." -f
|
||||
--
|
||||
2.32.0
|
||||
|
118
SOURCES/0018-Fix-virt-what-cpuid-helper.patch
Normal file
118
SOURCES/0018-Fix-virt-what-cpuid-helper.patch
Normal file
@ -0,0 +1,118 @@
|
||||
From a5471559e7398418f1bb9c538a7bfc8f39e9ae98 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Fri, 4 Oct 2019 15:57:42 +0300
|
||||
Subject: [PATCH 18/22] Fix virt-what-cpuid-helper.
|
||||
|
||||
The value returned in %eax is the max_entry (eg. 0x40000000
|
||||
if there are no further leafs). However it is not reliable.
|
||||
In addition if there are multiple leafs we should probably
|
||||
only print the highest one.
|
||||
|
||||
Also use uint32_t instead of unsigned int.
|
||||
|
||||
Thanks: Paolo Bonzini.
|
||||
---
|
||||
virt-what-cpuid-helper.c | 67 ++++++++++++++++++++++++++++------------
|
||||
1 file changed, 48 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/virt-what-cpuid-helper.c b/virt-what-cpuid-helper.c
|
||||
index 7812545..0cd4a6f 100644
|
||||
--- a/virt-what-cpuid-helper.c
|
||||
+++ b/virt-what-cpuid-helper.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* virt-what-cpuid-helper: Are we running inside KVM or Xen HVM?
|
||||
- * Copyright (C) 2008 Red Hat Inc.
|
||||
+ * Copyright (C) 2008-2019 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
|
||||
@@ -21,14 +21,35 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
|
||||
-static unsigned int
|
||||
-cpuid (unsigned int eax, char *sig)
|
||||
+/* Known x86 hypervisor signatures. Note that if you add a new test
|
||||
+ * to virt-what.in you may need to update this list. The signature is
|
||||
+ * always 12 bytes except in the case of KVM.
|
||||
+ */
|
||||
+static int
|
||||
+known_signature (char *sig)
|
||||
{
|
||||
- unsigned int *sig32 = (unsigned int *) sig;
|
||||
+ return
|
||||
+ strcmp (sig, "bhyve bhyve ") == 0 ||
|
||||
+ strcmp (sig, "KVMKVMKVM") == 0 ||
|
||||
+ strcmp (sig, "LKVMLKVMLKVM") == 0 ||
|
||||
+ strcmp (sig, "Microsoft Hv") == 0 ||
|
||||
+ strcmp (sig, "OpenBSDVMM58") == 0 ||
|
||||
+ strcmp (sig, "TCGTCGTCGTCG") == 0 ||
|
||||
+ strcmp (sig, "VMwareVMware") == 0 ||
|
||||
+ strcmp (sig, "XenVMMXenVMM") == 0 ||
|
||||
+ 0;
|
||||
+}
|
||||
+
|
||||
+static uint32_t
|
||||
+cpuid (uint32_t eax, char *sig)
|
||||
+{
|
||||
+ uint32_t *sig32 = (uint32_t *) sig;
|
||||
|
||||
asm volatile (
|
||||
"xchgl %%ebx,%1; xor %%ebx,%%ebx; cpuid; xchgl %%ebx,%1"
|
||||
@@ -43,24 +64,32 @@ static void
|
||||
cpu_sig (void)
|
||||
{
|
||||
char sig[13];
|
||||
- unsigned int base = 0x40000000, leaf = base;
|
||||
- unsigned int max_entries;
|
||||
+ const uint32_t base = 0x40000000;
|
||||
+ uint32_t leaf;
|
||||
|
||||
- memset (sig, 0, sizeof sig);
|
||||
- max_entries = cpuid (leaf, sig);
|
||||
- puts (sig);
|
||||
-
|
||||
- /* Most hypervisors only have information in leaf 0x40000000, but
|
||||
- * upstream Xen contains further leaf entries (in particular when
|
||||
- * used with Viridian [HyperV] extensions). CPUID is supposed to
|
||||
- * return the maximum leaf offset in %eax, so that's what we use,
|
||||
- * but only if it looks sensible.
|
||||
+ /* Most hypervisors only have information in leaf 0x40000000.
|
||||
+ *
|
||||
+ * Some hypervisors have "Viridian [HyperV] extensions", and those
|
||||
+ * must appear in slot 0x40000000, but they will also have the true
|
||||
+ * hypervisor in a higher slot.
|
||||
+ *
|
||||
+ * CPUID is supposed to return the maximum leaf offset in %eax, but
|
||||
+ * this is not reliable. Instead we check the returned signatures
|
||||
+ * against a known list (the others will be empty or garbage) and
|
||||
+ * only print the ones we know about. This is OK because if we add
|
||||
+ * a new test in virt-what we can update the list.
|
||||
+ *
|
||||
+ * By searching backwards we only print the highest entry, thus
|
||||
+ * ignoring Viridian for Xen (and Nutanix). If we ever encounter a
|
||||
+ * hypervisor that has more than 2 entries we may need to revisit
|
||||
+ * this.
|
||||
*/
|
||||
- if (max_entries > 3 && max_entries < 0x10000) {
|
||||
- for (leaf = base + 0x100; leaf <= base + max_entries; leaf += 0x100) {
|
||||
- memset (sig, 0, sizeof sig);
|
||||
- cpuid (leaf, sig);
|
||||
+ for (leaf = base + 0xff00; leaf >= base; leaf -= 0x100) {
|
||||
+ memset (sig, 0, sizeof sig);
|
||||
+ cpuid (leaf, sig);
|
||||
+ if (known_signature (sig)) {
|
||||
puts (sig);
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,405 @@
|
||||
From 01ea13d9813df93e294b0d9776d4cefd54b1609b Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Fri, 4 Oct 2019 16:25:55 +0300
|
||||
Subject: [PATCH 19/22] Add support for Nutanix Acropolis Hypervisor (AHV)
|
||||
(RHBZ#1756381).
|
||||
|
||||
Thanks: Cristian Seres for providing access to a guest.
|
||||
---
|
||||
configure.ac | 2 +
|
||||
tests/nutanix-ahv/Makefile.am | 28 ++++
|
||||
tests/nutanix-ahv/proc/cpuinfo | 27 ++++
|
||||
tests/nutanix-ahv/proc/self/status | 55 ++++++++
|
||||
tests/nutanix-ahv/sbin/dmidecode | 123 ++++++++++++++++++
|
||||
tests/nutanix-ahv/sbin/uname | 2 +
|
||||
tests/nutanix-ahv/sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/nutanix-ahv/test.sh | 32 +++++
|
||||
virt-what.in | 10 +-
|
||||
virt-what.pod | 6 +
|
||||
10 files changed, 286 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/nutanix-ahv/Makefile.am
|
||||
create mode 100644 tests/nutanix-ahv/proc/cpuinfo
|
||||
create mode 100644 tests/nutanix-ahv/proc/self/status
|
||||
create mode 100755 tests/nutanix-ahv/sbin/dmidecode
|
||||
create mode 100755 tests/nutanix-ahv/sbin/uname
|
||||
create mode 100755 tests/nutanix-ahv/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/nutanix-ahv/test.sh
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5e0d9c4..f246e34 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -51,6 +51,7 @@ tests="\
|
||||
lkvm-arm \
|
||||
lx86 \
|
||||
lxc \
|
||||
+ nutanix-ahv \
|
||||
parallels-desktop \
|
||||
ppc64-baremetal \
|
||||
ppc64-kvm \
|
||||
@@ -93,6 +94,7 @@ AC_CONFIG_FILES([Makefile
|
||||
tests/lkvm-arm/Makefile
|
||||
tests/lx86/Makefile
|
||||
tests/lxc/Makefile
|
||||
+ tests/nutanix-ahv/Makefile
|
||||
tests/parallels-desktop/Makefile
|
||||
tests/ppc64-baremetal/Makefile
|
||||
tests/ppc64-kvm/Makefile
|
||||
diff --git a/tests/nutanix-ahv/Makefile.am b/tests/nutanix-ahv/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..b748df8
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/Makefile.am
|
||||
@@ -0,0 +1,28 @@
|
||||
+# Makefile for virt-what
|
||||
+# Copyright (C) 2008-2011 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
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+
|
||||
+CLEANFILES = *~
|
||||
+
|
||||
+TESTS = test.sh
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ test.sh \
|
||||
+ proc/cpuinfo \
|
||||
+ proc/self/status \
|
||||
+ sbin/dmidecode \
|
||||
+ sbin/uname \
|
||||
+ sbin/virt-what-cpuid-helper
|
||||
diff --git a/tests/nutanix-ahv/proc/cpuinfo b/tests/nutanix-ahv/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..d7a1f68
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/proc/cpuinfo
|
||||
@@ -0,0 +1,27 @@
|
||||
+processor : 0
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 15
|
||||
+model : 6
|
||||
+model name : Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
|
||||
+stepping : 1
|
||||
+microcode : 0x1
|
||||
+cpu MHz : 2199.998
|
||||
+cache size : 16384 KB
|
||||
+physical id : 0
|
||||
+siblings : 1
|
||||
+core id : 0
|
||||
+cpu cores : 1
|
||||
+apicid : 0
|
||||
+initial apicid : 0
|
||||
+fpu : yes
|
||||
+fpu_exception : yes
|
||||
+cpuid level : 13
|
||||
+wp : yes
|
||||
+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat md_clear
|
||||
+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
|
||||
+bogomips : 4399.99
|
||||
+clflush size : 64
|
||||
+cache_alignment : 128
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
diff --git a/tests/nutanix-ahv/proc/self/status b/tests/nutanix-ahv/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..7b4eed0
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/proc/self/status
|
||||
@@ -0,0 +1,55 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 18508
|
||||
+Ngid: 0
|
||||
+Pid: 18508
|
||||
+PPid: 18506
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 64
|
||||
+Groups: 0
|
||||
+NStgid: 18508
|
||||
+NSpid: 18508
|
||||
+NSpgid: 18506
|
||||
+NSsid: 1945
|
||||
+VmPeak: 5392 kB
|
||||
+VmSize: 5392 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 760 kB
|
||||
+VmRSS: 760 kB
|
||||
+RssAnon: 68 kB
|
||||
+RssFile: 692 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 312 kB
|
||||
+VmStk: 132 kB
|
||||
+VmExe: 28 kB
|
||||
+VmLib: 1456 kB
|
||||
+VmPTE: 48 kB
|
||||
+VmSwap: 0 kB
|
||||
+HugetlbPages: 0 kB
|
||||
+CoreDumping: 0
|
||||
+THP_enabled: 1
|
||||
+Threads: 1
|
||||
+SigQ: 3/7359
|
||||
+SigPnd: 0000000000000000
|
||||
+ShdPnd: 0000000000000000
|
||||
+SigBlk: 0000000000000000
|
||||
+SigIgn: 0000000000000000
|
||||
+SigCgt: 0000000000000000
|
||||
+CapInh: 0000000000000000
|
||||
+CapPrm: 0000003fffffffff
|
||||
+CapEff: 0000003fffffffff
|
||||
+CapBnd: 0000003fffffffff
|
||||
+CapAmb: 0000000000000000
|
||||
+NoNewPrivs: 0
|
||||
+Seccomp: 0
|
||||
+Speculation_Store_Bypass: thread vulnerable
|
||||
+Cpus_allowed: ffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff
|
||||
+Cpus_allowed_list: 0-239
|
||||
+Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
|
||||
+Mems_allowed_list: 0
|
||||
+voluntary_ctxt_switches: 0
|
||||
+nonvoluntary_ctxt_switches: 2
|
||||
diff --git a/tests/nutanix-ahv/sbin/dmidecode b/tests/nutanix-ahv/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..3774819
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/sbin/dmidecode
|
||||
@@ -0,0 +1,123 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+i# dmidecode 3.2
|
||||
+Getting SMBIOS data from sysfs.
|
||||
+SMBIOS 2.8 present.
|
||||
+9 structures occupying 486 bytes.
|
||||
+Table at 0x000F73C0.
|
||||
+
|
||||
+Handle 0x0000, DMI type 0, 24 bytes
|
||||
+BIOS Information
|
||||
+ Vendor: SeaBIOS
|
||||
+ Version: 1.9.1-5.el6
|
||||
+ Release Date: 04/01/2014
|
||||
+ Address: 0xE8000
|
||||
+ Runtime Size: 96 kB
|
||||
+ ROM Size: 64 kB
|
||||
+ Characteristics:
|
||||
+ BIOS characteristics not supported
|
||||
+ Targeted content distribution is supported
|
||||
+ BIOS Revision: 0.0
|
||||
+
|
||||
+Handle 0x0100, DMI type 1, 27 bytes
|
||||
+System Information
|
||||
+ Manufacturer: Nutanix
|
||||
+ Product Name: AHV
|
||||
+ Version: RHEL 7.3.0 PC (i440FX + PIIX, 1996)
|
||||
+ Serial Number: B913C223-EEDE-4DFC-BB43-BE1495F4388D
|
||||
+ UUID: b913c223-eede-4dfc-bb43-be1495f4388d
|
||||
+ Wake-up Type: Power Switch
|
||||
+ SKU Number: Not Specified
|
||||
+ Family: Red Hat Enterprise Linux
|
||||
+
|
||||
+Handle 0x0300, DMI type 3, 21 bytes
|
||||
+Chassis Information
|
||||
+ Manufacturer: Red Hat
|
||||
+ Type: Other
|
||||
+ Lock: Not Present
|
||||
+ Version: RHEL 7.3.0 PC (i440FX + PIIX, 1996)
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Not Specified
|
||||
+ Boot-up State: Safe
|
||||
+ Power Supply State: Safe
|
||||
+ Thermal State: Safe
|
||||
+ Security Status: Unknown
|
||||
+ OEM Information: 0x00000000
|
||||
+ Height: Unspecified
|
||||
+ Number Of Power Cords: Unspecified
|
||||
+ Contained Elements: 0
|
||||
+
|
||||
+Handle 0x0400, DMI type 4, 42 bytes
|
||||
+Processor Information
|
||||
+ Socket Designation: CPU 0
|
||||
+ Type: Central Processor
|
||||
+ Family: Other
|
||||
+ Manufacturer: Red Hat
|
||||
+ ID: 61 0F 00 00 FF FB 8B 0F
|
||||
+ Version: RHEL 7.3.0 PC (i440FX + PIIX, 1996)
|
||||
+ Voltage: Unknown
|
||||
+ External Clock: Unknown
|
||||
+ Max Speed: 2000 MHz
|
||||
+ Current Speed: 2000 MHz
|
||||
+ Status: Populated, Enabled
|
||||
+ Upgrade: Other
|
||||
+ L1 Cache Handle: Not Provided
|
||||
+ L2 Cache Handle: Not Provided
|
||||
+ L3 Cache Handle: Not Provided
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Not Specified
|
||||
+ Part Number: Not Specified
|
||||
+ Core Count: 1
|
||||
+ Core Enabled: 1
|
||||
+ Thread Count: 1
|
||||
+ Characteristics: None
|
||||
+
|
||||
+Handle 0x1000, DMI type 16, 23 bytes
|
||||
+Physical Memory Array
|
||||
+ Location: Other
|
||||
+ Use: System Memory
|
||||
+ Error Correction Type: Multi-bit ECC
|
||||
+ Maximum Capacity: 2 GB
|
||||
+ Error Information Handle: Not Provided
|
||||
+ Number Of Devices: 1
|
||||
+
|
||||
+Handle 0x1100, DMI type 17, 40 bytes
|
||||
+Memory Device
|
||||
+ Array Handle: 0x1000
|
||||
+ Error Information Handle: Not Provided
|
||||
+ Total Width: Unknown
|
||||
+ Data Width: Unknown
|
||||
+ Size: 2048 MB
|
||||
+ Form Factor: DIMM
|
||||
+ Set: None
|
||||
+ Locator: DIMM 0
|
||||
+ Bank Locator: Not Specified
|
||||
+ Type: RAM
|
||||
+ Type Detail: Other
|
||||
+ Speed: Unknown
|
||||
+ Manufacturer: Red Hat
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Not Specified
|
||||
+ Part Number: Not Specified
|
||||
+ Rank: Unknown
|
||||
+ Configured Memory Speed: Unknown
|
||||
+ Minimum Voltage: Unknown
|
||||
+ Maximum Voltage: Unknown
|
||||
+ Configured Voltage: Unknown
|
||||
+
|
||||
+Handle 0x1300, DMI type 19, 31 bytes
|
||||
+Memory Array Mapped Address
|
||||
+ Starting Address: 0x00000000000
|
||||
+ Ending Address: 0x0007FFFFFFF
|
||||
+ Range Size: 2 GB
|
||||
+ Physical Array Handle: 0x1000
|
||||
+ Partition Width: 1
|
||||
+
|
||||
+Handle 0x2000, DMI type 32, 11 bytes
|
||||
+System Boot Information
|
||||
+ Status: No errors detected
|
||||
+
|
||||
+Handle 0x7F00, DMI type 127, 4 bytes
|
||||
+End Of Table
|
||||
+
|
||||
+EOF
|
||||
diff --git a/tests/nutanix-ahv/sbin/uname b/tests/nutanix-ahv/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..ab0ec89
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo x86_64
|
||||
diff --git a/tests/nutanix-ahv/sbin/virt-what-cpuid-helper b/tests/nutanix-ahv/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..f52a9d7
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo KVMKVMKVM
|
||||
diff --git a/tests/nutanix-ahv/test.sh b/tests/nutanix-ahv/test.sh
|
||||
new file mode 100755
|
||||
index 0000000..3d934b2
|
||||
--- /dev/null
|
||||
+++ b/tests/nutanix-ahv/test.sh
|
||||
@@ -0,0 +1,32 @@
|
||||
+# Test for Nutanix AHV
|
||||
+# Copyright (C) 2019 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
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+
|
||||
+output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
+expected="nutanix_ahv"
|
||||
+
|
||||
+if [ "$output" != "$expected" ]; then
|
||||
+ echo "$0: test failed because output did not match expected"
|
||||
+ echo "Expected output was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$expected"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "But the actual output of the program was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$output"
|
||||
+ echo "----------------------------------------"
|
||||
+ exit 1
|
||||
+fi
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index f685461..9eafa05 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh -
|
||||
# @configure_input@
|
||||
-# Copyright (C) 2008-2017 Red Hat Inc.
|
||||
+# Copyright (C) 2008-2019 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
|
||||
@@ -220,6 +220,14 @@ if echo "$dmi" | grep -q 'Vendor: Parallels'; then
|
||||
skip_qemu_kvm=true
|
||||
fi
|
||||
|
||||
+# Check for Nutanix AHV.
|
||||
+# This is sufficiently different from KVM and has Viridian extensions,
|
||||
+# so skip the KVM test.
|
||||
+if echo "$dmi" | grep -q 'Manufacturer: Nutanix'; then
|
||||
+ echo nutanix_ahv
|
||||
+ skip_qemu_kvm=true
|
||||
+fi
|
||||
+
|
||||
# Check for oVirt/RHEV.
|
||||
if echo "$dmi" | grep -q 'Manufacturer: oVirt'; then
|
||||
echo ovirt
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 5a0bdfc..ea5cb77 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -177,6 +177,12 @@ is lkvm (a.k.a kvmtool).
|
||||
|
||||
Status: contributed by Andrew Jones
|
||||
|
||||
+=item B<nutanix_ahv>
|
||||
+
|
||||
+The guest is running inside Nutanix Acropolis Hypervisor (AHV).
|
||||
+
|
||||
+Status: confirmed by RWMJ.
|
||||
+
|
||||
=item B<openvz>
|
||||
|
||||
The guest appears to be running inside an OpenVZ or Virtuozzo
|
||||
--
|
||||
2.32.0
|
||||
|
38
SOURCES/0020-helper-Fix-KVM-signature.patch
Normal file
38
SOURCES/0020-helper-Fix-KVM-signature.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From e0443f1fc78f2a79c073dbdf4133bec41c4c0591 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Fri, 4 Oct 2019 18:30:01 +0100
|
||||
Subject: [PATCH 20/22] helper: Fix KVM signature.
|
||||
|
||||
Thanks: Paolo Bonzini.
|
||||
---
|
||||
virt-what-cpuid-helper.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/virt-what-cpuid-helper.c b/virt-what-cpuid-helper.c
|
||||
index 0cd4a6f..9c6cdb2 100644
|
||||
--- a/virt-what-cpuid-helper.c
|
||||
+++ b/virt-what-cpuid-helper.c
|
||||
@@ -28,15 +28,16 @@
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
|
||||
/* Known x86 hypervisor signatures. Note that if you add a new test
|
||||
- * to virt-what.in you may need to update this list. The signature is
|
||||
- * always 12 bytes except in the case of KVM.
|
||||
+ * to virt-what.in you may need to update this list. Note the
|
||||
+ * signature is always 12 bytes long, plus we add \0 to the end to
|
||||
+ * make it 13 bytes.
|
||||
*/
|
||||
static int
|
||||
-known_signature (char *sig)
|
||||
+known_signature (const char *sig)
|
||||
{
|
||||
return
|
||||
strcmp (sig, "bhyve bhyve ") == 0 ||
|
||||
- strcmp (sig, "KVMKVMKVM") == 0 ||
|
||||
+ memcmp (sig, "KVMKVMKVM\0\0\0", 12) == 0 ||
|
||||
strcmp (sig, "LKVMLKVMLKVM") == 0 ||
|
||||
strcmp (sig, "Microsoft Hv") == 0 ||
|
||||
strcmp (sig, "OpenBSDVMM58") == 0 ||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 71ef45e9543278e9920e449b71e0da269662ebc9 Mon Sep 17 00:00:00 2001
|
||||
From: willem van de velde <williamvdvelde@gmail.com>
|
||||
Date: Tue, 22 Oct 2019 11:58:01 +0100
|
||||
Subject: [PATCH 21/22] Fix incorrect detection of MS Surfacebook 2 as a
|
||||
virtual machine.
|
||||
|
||||
---
|
||||
virt-what.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 9eafa05..a61ce91 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -132,7 +132,8 @@ fi
|
||||
# The negative check for cpuid is to distinguish this from Hyper-V
|
||||
# which also has the same manufacturer string in the SM-BIOS data.
|
||||
if [ "$cpuid" != "Microsoft Hv" ] &&
|
||||
- echo "$dmi" | grep -q 'Manufacturer: Microsoft Corporation'; then
|
||||
+ echo "$dmi" | grep -q 'Manufacturer: Microsoft Corporation' &&
|
||||
+ echo "$dmi" | grep -q 'Product Name: Virtual Machine'; then
|
||||
echo virtualpc
|
||||
fi
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
267
SOURCES/0022-Add-support-for-VMware-ESXi-on-ARM.patch
Normal file
267
SOURCES/0022-Add-support-for-VMware-ESXi-on-ARM.patch
Normal file
@ -0,0 +1,267 @@
|
||||
From 8640dad5eb60eced313359e7ecea19b07d77242f Mon Sep 17 00:00:00 2001
|
||||
From: Razvan Corneliu <razvan.vilt@linux360.ro>
|
||||
Date: Mon, 10 May 2021 21:02:27 +0100
|
||||
Subject: [PATCH 22/22] Add support for VMware ESXi on ARM
|
||||
|
||||
Virt-what doesn't recognize VMware VMs for AARCH64/ARM (with licensing
|
||||
implications in ESXi Fling for ARM and Fusion v.Next for ARM). I've
|
||||
created and attached a patch that adds both support for recognizing
|
||||
ESXi and the automated tests for it.
|
||||
---
|
||||
configure.ac | 2 +
|
||||
tests/esx-arm/Makefile.am | 30 ++++++++++
|
||||
tests/esx-arm/proc/cpuinfo | 18 ++++++
|
||||
.../proc/device-tree/hypervisor/compatible | 1 +
|
||||
.../esx-arm/proc/device-tree/hypervisor/name | 1 +
|
||||
tests/esx-arm/proc/self/status | 55 +++++++++++++++++++
|
||||
tests/esx-arm/sbin/dmidecode | 2 +
|
||||
tests/esx-arm/sbin/uname | 2 +
|
||||
tests/esx-arm/sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/esx-arm/test.sh | 32 +++++++++++
|
||||
virt-what.in | 4 ++
|
||||
11 files changed, 149 insertions(+)
|
||||
create mode 100644 tests/esx-arm/Makefile.am
|
||||
create mode 100644 tests/esx-arm/proc/cpuinfo
|
||||
create mode 100644 tests/esx-arm/proc/device-tree/hypervisor/compatible
|
||||
create mode 100644 tests/esx-arm/proc/device-tree/hypervisor/name
|
||||
create mode 100644 tests/esx-arm/proc/self/status
|
||||
create mode 100755 tests/esx-arm/sbin/dmidecode
|
||||
create mode 100755 tests/esx-arm/sbin/uname
|
||||
create mode 100755 tests/esx-arm/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/esx-arm/test.sh
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f246e34..f9b3096 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -41,6 +41,7 @@ tests="\
|
||||
baremetal \
|
||||
bhyve \
|
||||
docker \
|
||||
+ esx-arm \
|
||||
esx4.1 \
|
||||
hyperv \
|
||||
kvm \
|
||||
@@ -84,6 +85,7 @@ AC_CONFIG_FILES([Makefile
|
||||
tests/baremetal/Makefile
|
||||
tests/bhyve/Makefile
|
||||
tests/docker/Makefile
|
||||
+ tests/esx-arm/Makefile
|
||||
tests/esx4.1/Makefile
|
||||
tests/hyperv/Makefile
|
||||
tests/kvm/Makefile
|
||||
diff --git a/tests/esx-arm/Makefile.am b/tests/esx-arm/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..b87ec83
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/Makefile.am
|
||||
@@ -0,0 +1,30 @@
|
||||
+# Makefile for virt-what
|
||||
+# Copyright (C) 2008-2011 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
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+
|
||||
+CLEANFILES = *~
|
||||
+
|
||||
+TESTS = test.sh
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ test.sh \
|
||||
+ proc/cpuinfo \
|
||||
+ proc/device-tree/hypervisor/compatible \
|
||||
+ proc/device-tree/hypervisor/name \
|
||||
+ proc/self/status \
|
||||
+ sbin/dmidecode \
|
||||
+ sbin/uname \
|
||||
+ sbin/virt-what-cpuid-helper
|
||||
diff --git a/tests/esx-arm/proc/cpuinfo b/tests/esx-arm/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..246b574
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/proc/cpuinfo
|
||||
@@ -0,0 +1,18 @@
|
||||
+processor : 0
|
||||
+BogoMIPS : 108.00
|
||||
+Features : fp asimd evtstrm crc32 cpuid
|
||||
+CPU implementer : 0x41
|
||||
+CPU architecture: 8
|
||||
+CPU variant : 0x0
|
||||
+CPU part : 0xd08
|
||||
+CPU revision : 3
|
||||
+
|
||||
+processor : 1
|
||||
+BogoMIPS : 108.00
|
||||
+Features : fp asimd evtstrm crc32 cpuid
|
||||
+CPU implementer : 0x41
|
||||
+CPU architecture: 8
|
||||
+CPU variant : 0x0
|
||||
+CPU part : 0xd08
|
||||
+CPU revision : 3
|
||||
+
|
||||
diff --git a/tests/esx-arm/proc/device-tree/hypervisor/compatible b/tests/esx-arm/proc/device-tree/hypervisor/compatible
|
||||
new file mode 100644
|
||||
index 0000000..0554874
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/proc/device-tree/hypervisor/compatible
|
||||
@@ -0,0 +1 @@
|
||||
+vmware
|
||||
diff --git a/tests/esx-arm/proc/device-tree/hypervisor/name b/tests/esx-arm/proc/device-tree/hypervisor/name
|
||||
new file mode 100644
|
||||
index 0000000..d508e44
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/proc/device-tree/hypervisor/name
|
||||
@@ -0,0 +1 @@
|
||||
+hypervisor
|
||||
diff --git a/tests/esx-arm/proc/self/status b/tests/esx-arm/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..13dd246
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/proc/self/status
|
||||
@@ -0,0 +1,55 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 292937
|
||||
+Ngid: 0
|
||||
+Pid: 292937
|
||||
+PPid: 10956
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 256
|
||||
+Groups: 0
|
||||
+NStgid: 292937
|
||||
+NSpid: 292937
|
||||
+NSpgid: 292937
|
||||
+NSsid: 10956
|
||||
+VmPeak: 6400 kB
|
||||
+VmSize: 6400 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 960 kB
|
||||
+VmRSS: 960 kB
|
||||
+RssAnon: 448 kB
|
||||
+RssFile: 512 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 640 kB
|
||||
+VmStk: 192 kB
|
||||
+VmExe: 64 kB
|
||||
+VmLib: 1600 kB
|
||||
+VmPTE: 384 kB
|
||||
+VmSwap: 0 kB
|
||||
+HugetlbPages: 0 kB
|
||||
+CoreDumping: 0
|
||||
+THP_enabled: 1
|
||||
+Threads: 1
|
||||
+SigQ: 2/3947
|
||||
+SigPnd: 0000000000000000
|
||||
+ShdPnd: 0000000000000000
|
||||
+SigBlk: 0000000000000000
|
||||
+SigIgn: 0000000000000000
|
||||
+SigCgt: 0000000000000000
|
||||
+CapInh: 0000000000000000
|
||||
+CapPrm: 0000003fffffffff
|
||||
+CapEff: 0000003fffffffff
|
||||
+CapBnd: 0000003fffffffff
|
||||
+CapAmb: 0000000000000000
|
||||
+NoNewPrivs: 0
|
||||
+Seccomp: 0
|
||||
+Speculation_Store_Bypass: vulnerable
|
||||
+Cpus_allowed: 3
|
||||
+Cpus_allowed_list: 0-1
|
||||
+Mems_allowed: 01
|
||||
+Mems_allowed_list: 0
|
||||
+voluntary_ctxt_switches: 1
|
||||
+nonvoluntary_ctxt_switches: 0
|
||||
diff --git a/tests/esx-arm/sbin/dmidecode b/tests/esx-arm/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..e53c12f
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/sbin/dmidecode
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+exit 1
|
||||
diff --git a/tests/esx-arm/sbin/uname b/tests/esx-arm/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..bd33a2d
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo aarch64
|
||||
diff --git a/tests/esx-arm/sbin/virt-what-cpuid-helper b/tests/esx-arm/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..77a6692
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+# nothing
|
||||
diff --git a/tests/esx-arm/test.sh b/tests/esx-arm/test.sh
|
||||
new file mode 100755
|
||||
index 0000000..344afef
|
||||
--- /dev/null
|
||||
+++ b/tests/esx-arm/test.sh
|
||||
@@ -0,0 +1,32 @@
|
||||
+# Test for ESXi on ARM
|
||||
+# Copyright (C) 2008-2011 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
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+
|
||||
+output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
+expected="vmware"
|
||||
+
|
||||
+if [ "$output" != "$expected" ]; then
|
||||
+ echo "$0: test failed because output did not match expected"
|
||||
+ echo "Expected output was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$expected"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "But the actual output of the program was:"
|
||||
+ echo "----------------------------------------"
|
||||
+ echo "$output"
|
||||
+ echo "----------------------------------------"
|
||||
+ exit 1
|
||||
+fi
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index a61ce91..59743c3 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -264,6 +264,10 @@ elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
|
||||
echo xen
|
||||
skip_qemu_kvm=true
|
||||
skip_lkvm=true
|
||||
+ elif [ -d "${root}/proc/device-tree/hypervisor" ] &&
|
||||
+ grep -q "vmware" "${root}/proc/device-tree/hypervisor/compatible"; then
|
||||
+ echo vmware
|
||||
+ skip_lkvm=true
|
||||
fi
|
||||
elif [ "$arch" = "ia64" ]; then
|
||||
if [ -d "${root}/sys/bus/xen" -a ! -d "${root}/sys/bus/xen-backend" ]; then
|
||||
--
|
||||
2.32.0
|
||||
|
28
SOURCES/gitignore
Normal file
28
SOURCES/gitignore
Normal file
@ -0,0 +1,28 @@
|
||||
*~
|
||||
*.log
|
||||
*.trs
|
||||
*.o
|
||||
|
||||
/virt-what-*.tar.gz
|
||||
/.deps
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/aclocal.m4
|
||||
/autom4te.cache
|
||||
/compile
|
||||
/config.guess
|
||||
/config.h
|
||||
/config.h.in
|
||||
/config.log
|
||||
/config.status
|
||||
/config.sub
|
||||
/configure
|
||||
/depcomp
|
||||
/install-sh
|
||||
/missing
|
||||
/stamp-h1
|
||||
/test-driver
|
||||
/virt-what
|
||||
/virt-what-cpuid-helper
|
||||
/virt-what.1
|
||||
/virt-what.txt
|
@ -1,13 +1,20 @@
|
||||
Name: virt-what
|
||||
Version: 1.18
|
||||
Release: 6%{?dist}
|
||||
Release: 12%{?dist}
|
||||
Summary: Detect if we are running in a virtual machine
|
||||
License: GPLv2+
|
||||
|
||||
URL: http://people.redhat.com/~rjones/virt-what/
|
||||
Source0: http://people.redhat.com/~rjones/virt-what/files/%{name}-%{version}.tar.gz
|
||||
|
||||
# Some of the patches below apply to .gitignore, but that file was not
|
||||
# included in the tarball before v1.20. This is the version from
|
||||
# v1.18 upstream allowing patching to go ahead.
|
||||
Source1: gitignore
|
||||
|
||||
# Patches from upstream since 1.18 was released.
|
||||
# NB: These patches are also stored in this upstream branch:
|
||||
# http://git.annexia.org/?p=virt-what.git;a=shortlog;h=refs/heads/rhel-8.2
|
||||
Patch0001: 0001-Missing-have_cpuinfo-check.patch
|
||||
Patch0002: 0002-Remove-bashisms.patch
|
||||
Patch0003: 0003-As-xen-pv-guest-can-access-cpuid-from-Intel-CPUs-sta.patch
|
||||
@ -21,6 +28,24 @@ Patch0009: 0009-tests-Fix-tests-when-run-on-AWS.patch
|
||||
Patch0010: 0010-aws-Add-regression-test-for-AWS-on-KVM-on-x86_64-arc.patch
|
||||
Patch0011: 0011-aws-Add-regression-test-for-AWS-on-baremetal-on-x86_.patch
|
||||
Patch0012: 0012-aws-Add-regression-test-for-AWS-on-Xen-on-x86_64-arc.patch
|
||||
Patch0013: 0013-aws-Add-regression-test-for-AWS-on-KVM-on-ARM-archit.patch
|
||||
# Refactor build and tests.
|
||||
Patch0014: 0014-build-Remove-files-on-make-clean.patch
|
||||
Patch0015: 0015-Arrange-tests-in-subdirectories.patch
|
||||
Patch0016: 0016-build-Add-.gitignore-to-tarball.patch
|
||||
Patch0017: 0017-maintainer-Add-rules-for-maintainers.patch
|
||||
# Support for Nutanix AHV (RHBZ#1756381).
|
||||
Patch0018: 0018-Fix-virt-what-cpuid-helper.patch
|
||||
Patch0019: 0019-Add-support-for-Nutanix-Acropolis-Hypervisor-AHV-RHB.patch
|
||||
Patch0020: 0020-helper-Fix-KVM-signature.patch
|
||||
# Support for virtualized MS Surfacebook 2.
|
||||
Patch0021: 0021-Fix-incorrect-detection-of-MS-Surfacebook-2-as-a-vir.patch
|
||||
# Support for VMware on aarch64 (RHBZ#1959154).
|
||||
Patch0022: 0022-Add-support-for-VMware-ESXi-on-ARM.patch
|
||||
|
||||
# Fix crash on non-KVM platforms through incorrect use of CPUID in
|
||||
# patch 0018 (https://bugzilla.redhat.com/show_bug.cgi?id=1756381#c15).
|
||||
Patch0023: 0001-Simplify-and-fix-invocation-of-cpuid.patch
|
||||
|
||||
# Patches touch Makefile.am:
|
||||
BuildRequires: autoconf, automake
|
||||
@ -94,7 +119,18 @@ Current types of virtualization detected:
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -S git
|
||||
# We can go back to autosetup once we rebase to >= v1.20 which
|
||||
# includes the .gitignore file in the tarball.
|
||||
#autosetup -S git
|
||||
# But until then ...
|
||||
%setup -q -n %{name}-%{version}
|
||||
cp %{SOURCE1} .gitignore
|
||||
git init
|
||||
git config user.email "noone@example.com"
|
||||
git config user.name "no one"
|
||||
git add .
|
||||
git commit -a -q -m "%{version} baseline"
|
||||
git am %{patches} </dev/null
|
||||
|
||||
|
||||
%build
|
||||
@ -122,6 +158,30 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jun 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1.18-12
|
||||
- Support for VMware on aarch64
|
||||
resolves: rhbz#1959154
|
||||
|
||||
* Wed Jun 02 2021 Richard W.M. Jones <rjones@redhat.com> - 1.18-11
|
||||
- Add gating tests
|
||||
resolves: rhbz#1967094
|
||||
|
||||
* Wed Apr 28 2021 Richard W.M. Jones <rjones@redhat.com> - 1.18-10
|
||||
- Rebuild for fixed binutils on aarch64
|
||||
resolves: rhbz#1954455
|
||||
|
||||
* Tue Apr 13 2021 Richard W.M. Jones <rjones@redhat.com> - 1.18-9
|
||||
- Fix crash on non-KVM platforms through incorrect use of CPUID
|
||||
related: rhbz#1756381
|
||||
|
||||
* Tue Dec 10 2019 Richard W.M. Jones <rjones@redhat.com> - 1.18-8
|
||||
- Add support for Nutanix AHV
|
||||
resolves: rhbz#1756381
|
||||
- Add all patches since 1.18 was released, up to 1.20 and beyond.
|
||||
|
||||
* Thu Mar 21 2019 Richard W.M. Jones <rjones@redhat.com> - 1.18-7
|
||||
- Add gating tests resolves: rhbz#1682785
|
||||
|
||||
* Wed Oct 31 2018 Richard W.M. Jones <rjones@redhat.com> - 1.18-6
|
||||
- Add further patches to fix AWS support
|
||||
resolves: rhbz#1644497
|
||||
|
Loading…
Reference in New Issue
Block a user