Auto sync2gitlab import of virt-what-1.25-1.el8.src.rpm
This commit is contained in:
parent
d4014e383c
commit
4c6125d93c
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/virt-what-1.18.tar.gz
|
||||
/virt-what-1.25.tar.gz
|
||||
|
@ -1,25 +0,0 @@
|
||||
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/36] Missing have_cpuinfo check.
|
||||
|
||||
---
|
||||
virt-what.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 8c27b11..9050035 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -308,7 +308,7 @@ if ! "$skip_qemu_kvm"; then
|
||||
# option, since /proc/cpuinfo will not contain the QEMU
|
||||
# string. QEMU 2.10 added a new CPUID leaf, so this
|
||||
# problem only triggered for older QEMU
|
||||
- if grep -q 'QEMU' "${root}/proc/cpuinfo"; then
|
||||
+ if have_cpuinfo && grep -q 'QEMU' "${root}/proc/cpuinfo"; then
|
||||
echo qemu
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,48 +0,0 @@
|
||||
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/36] Remove bashisms
|
||||
|
||||
Use [ instead of [[ so we fall back to test if necessary:
|
||||
|
||||
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
|
||||
|
||||
Gbp-Pq: Name Remove-bashisms.patch
|
||||
---
|
||||
virt-what.in | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 9050035..a05e0db 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -360,20 +360,20 @@ if [ "$cpuid" = "OpenBSDVMM58" ]; then
|
||||
fi
|
||||
|
||||
# Check for LDoms
|
||||
-if [[ "$arch" == sparc* && -e ${root}/dev/mdesc ]]; then
|
||||
+if [ "${arch#sparc}" != "$arch" ] && [ -e "${root}/dev/mdesc" ]; then
|
||||
echo ldoms
|
||||
- if [[ -d ${root}/sys/class/vlds/ctrl && \
|
||||
- -d ${root}/sys/class/vlds/sp ]]; then
|
||||
+ if [ -d "${root}/sys/class/vlds/ctrl" ] && \
|
||||
+ [ -d "${root}/sys/class/vlds/sp" ]; then
|
||||
echo ldoms-control
|
||||
else
|
||||
echo ldoms-guest
|
||||
fi
|
||||
MDPROP="${root}/usr/lib/ldoms/mdprop.py"
|
||||
- if [[ -x ${MDPROP} ]]; then
|
||||
- if [[ -n $($MDPROP -v iodevice device-type=pciex) ]]; then
|
||||
+ if [ -x "${MDPROP}" ]; then
|
||||
+ if [ -n "$($MDPROP -v iodevice device-type=pciex)" ]; then
|
||||
echo ldoms-root
|
||||
echo ldoms-io
|
||||
- elif [[ -n $($MDPROP -v iov-device vf-id=0) ]]; then
|
||||
+ elif [ -n "$($MDPROP -v iov-device vf-id=0)" ]; then
|
||||
echo ldoms-io
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,36 +0,0 @@
|
||||
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/36] As xen pv guest can access cpuid from Intel CPUs
|
||||
started IvyBridge onwards have CPUID Faulting, added one more check in
|
||||
virt-what.
|
||||
|
||||
---
|
||||
virt-what.in | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index a05e0db..247348e 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -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
|
||||
@@ -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
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
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/36] Recognize ppc64le (little endian) virtualization
|
||||
(RHBZ#1147876).
|
||||
|
||||
Tested by Laurent Vivier, see:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1147876#c35 & ff.
|
||||
---
|
||||
virt-what.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 247348e..29b7b0d 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -339,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
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,30 +0,0 @@
|
||||
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/36] Determine architecture via 'uname -m'
|
||||
|
||||
'uname -p' only gives unknown on x86_64, i386, arm6l (rpi) and aarch64
|
||||
(scaleways).
|
||||
---
|
||||
virt-what.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 29b7b0d..2011ff4 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -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.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,44 +0,0 @@
|
||||
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/36] Allow using sysctl, for example when /proc isn't
|
||||
available
|
||||
|
||||
---
|
||||
virt-what.in | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 2011ff4..d037a99 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -38,6 +38,13 @@ have_cpuinfo () {
|
||||
test -e "${root}/proc/cpuinfo"
|
||||
}
|
||||
|
||||
+use_sysctl() {
|
||||
+ # Lacking /proc, on some systems sysctl can be used instead.
|
||||
+ OS=$(uname) || fail "failed to get operating system name"
|
||||
+
|
||||
+ [ "$OS" == "OpenBSD" ]
|
||||
+}
|
||||
+
|
||||
fail () {
|
||||
echo "virt-what: $1" >&2
|
||||
exit 1
|
||||
@@ -304,6 +311,12 @@ if ! "$skip_qemu_kvm"; then
|
||||
# We are running as a spapr KVM guest on ppc64
|
||||
echo kvm
|
||||
skip_lkvm=true
|
||||
+ elif use_sysctl; then
|
||||
+ # SmartOS KVM
|
||||
+ product=$(sysctl -n hw.product)
|
||||
+ if echo "$product" | grep -q 'SmartDC HVM'; then
|
||||
+ echo kvm
|
||||
+ fi
|
||||
else
|
||||
# This is known to fail for qemu with the explicit -cpu
|
||||
# option, since /proc/cpuinfo will not contain the QEMU
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
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/36] Replace == with = since the former is a bash-ism.
|
||||
|
||||
Thanks: Eric Blake.
|
||||
|
||||
Fixes commit d7fd8a7843030d2b1719353edfcd49dba3000122.
|
||||
---
|
||||
virt-what.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index d037a99..a2f8f19 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -42,7 +42,7 @@ use_sysctl() {
|
||||
# Lacking /proc, on some systems sysctl can be used instead.
|
||||
OS=$(uname) || fail "failed to get operating system name"
|
||||
|
||||
- [ "$OS" == "OpenBSD" ]
|
||||
+ [ "$OS" = "OpenBSD" ]
|
||||
}
|
||||
|
||||
fail () {
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,79 +0,0 @@
|
||||
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/36] 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
|
||||
is a little bit different so we also need to adjust the test for that
|
||||
case.
|
||||
|
||||
Typical SMBIOS info for Xen:
|
||||
|
||||
BIOS Information
|
||||
Vendor: Xen
|
||||
Version: 4.2.amazon
|
||||
|
||||
Typical SMBIOS info for KVM and baremetal:
|
||||
|
||||
BIOS Information
|
||||
Vendor: Amazon EC2
|
||||
Version: 1.0
|
||||
|
||||
Thanks: Vitaly Kuznetsov, Jon Masters.
|
||||
---
|
||||
virt-what.in | 13 +++++++++----
|
||||
virt-what.pod | 8 ++++++--
|
||||
2 files changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index a2f8f19..f685461 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -233,10 +233,6 @@ fi
|
||||
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
|
||||
- echo aws
|
||||
- fi
|
||||
skip_qemu_kvm=true
|
||||
elif [ -d "${root}/proc/xen" ]; then
|
||||
echo xen
|
||||
@@ -392,3 +388,12 @@ if [ "${arch#sparc}" != "$arch" ] && [ -e "${root}/dev/mdesc" ]; then
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
+
|
||||
+# Check for AWS.
|
||||
+# AWS on Xen.
|
||||
+if echo "$dmi" | grep -q 'Version: [0-9]\.[0-9]\.amazon'; then
|
||||
+ echo aws
|
||||
+# AWS on baremetal or KVM.
|
||||
+elif echo "$dmi" | grep -q 'Vendor: Amazon EC2'; then
|
||||
+ echo aws
|
||||
+fi
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index ebfc190..5a0bdfc 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -27,9 +27,13 @@ don't know about or cannot detect.
|
||||
|
||||
=item B<aws>
|
||||
|
||||
-Amazon Web Services cloud guest.
|
||||
+Amazon Web Services.
|
||||
|
||||
-Status: contributed by Qi Guo.
|
||||
+Note that virt-what will print this fact for baremetal AWS instances,
|
||||
+which you might not consider to be true virtualization. In this case
|
||||
+other facts (eg. C<kvm> or C<xen>) would I<not> be present.
|
||||
+
|
||||
+Status: contributed by Qi Guo, Vitaly Kuznetsov, confirmed by RWMJ.
|
||||
|
||||
=item B<bhyve>
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,32 +0,0 @@
|
||||
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/36] 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
|
||||
dmidecode binary was being run instead, and that was detecting as AWS
|
||||
owing to the previous commit. Fix this by supplying a working
|
||||
dmidecode binary for those tests.
|
||||
---
|
||||
tests/ldoms/sbin/dmidecode | 3 +++
|
||||
tests/ppc64-baremetal/sbin/dmidecode | 0
|
||||
2 files changed, 3 insertions(+)
|
||||
create mode 100755 tests/ldoms/sbin/dmidecode
|
||||
mode change 100644 => 100755 tests/ppc64-baremetal/sbin/dmidecode
|
||||
|
||||
diff --git a/tests/ldoms/sbin/dmidecode b/tests/ldoms/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..3efbee3
|
||||
--- /dev/null
|
||||
+++ b/tests/ldoms/sbin/dmidecode
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh -
|
||||
+# dmidecode fails on this platform.
|
||||
+exit 1
|
||||
diff --git a/tests/ppc64-baremetal/sbin/dmidecode b/tests/ppc64-baremetal/sbin/dmidecode
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,290 +0,0 @@
|
||||
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/36] aws: Add regression test for AWS on KVM on x86_64
|
||||
architecture.
|
||||
|
||||
---
|
||||
Makefile.am | 6 ++
|
||||
tests/aws-kvm-x86/proc/cpuinfo | 52 ++++++++++++++
|
||||
tests/aws-kvm-x86/proc/self/status | 46 +++++++++++++
|
||||
tests/aws-kvm-x86/sbin/dmidecode | 68 +++++++++++++++++++
|
||||
tests/aws-kvm-x86/sbin/uname | 2 +
|
||||
tests/aws-kvm-x86/sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/test-aws-kvm-x86.sh | 35 ++++++++++
|
||||
7 files changed, 211 insertions(+)
|
||||
create mode 100644 tests/aws-kvm-x86/proc/cpuinfo
|
||||
create mode 100644 tests/aws-kvm-x86/proc/self/status
|
||||
create mode 100755 tests/aws-kvm-x86/sbin/dmidecode
|
||||
create mode 100755 tests/aws-kvm-x86/sbin/uname
|
||||
create mode 100755 tests/aws-kvm-x86/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/test-aws-kvm-x86.sh
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 3c0d5ba..1029902 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -39,6 +39,7 @@ virt-what.txt: virt-what.pod
|
||||
endif
|
||||
|
||||
TESTS = \
|
||||
+ tests/test-aws-kvm-x86.sh \
|
||||
tests/test-baremetal.sh \
|
||||
tests/test-bhyve.sh \
|
||||
tests/test-docker.sh \
|
||||
@@ -73,6 +74,11 @@ TESTS = \
|
||||
EXTRA_DIST = \
|
||||
virt-what.in \
|
||||
virt-what.pod \
|
||||
+ tests/aws-kvm-x86/proc/cpuinfo \
|
||||
+ tests/aws-kvm-x86/proc/self/status \
|
||||
+ tests/aws-kvm-x86/sbin/dmidecode \
|
||||
+ tests/aws-kvm-x86/sbin/uname \
|
||||
+ tests/aws-kvm-x86/sbin/virt-what-cpuid-helper \
|
||||
tests/baremetal/proc/cpuinfo \
|
||||
tests/baremetal/proc/self/status \
|
||||
tests/baremetal/sbin/dmidecode \
|
||||
diff --git a/tests/aws-kvm-x86/proc/cpuinfo b/tests/aws-kvm-x86/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..449f885
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-x86/proc/cpuinfo
|
||||
@@ -0,0 +1,52 @@
|
||||
+processor : 0
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 85
|
||||
+model name : Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
|
||||
+stepping : 3
|
||||
+microcode : 0x1000141
|
||||
+cpu MHz : 2999.996
|
||||
+cache size : 25344 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu 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 fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 ida arat pku ospke
|
||||
+bogomips : 5999.99
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
+processor : 1
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 85
|
||||
+model name : Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
|
||||
+stepping : 3
|
||||
+microcode : 0x1000141
|
||||
+cpu MHz : 2999.996
|
||||
+cache size : 25344 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+core id : 0
|
||||
+cpu cores : 1
|
||||
+apicid : 1
|
||||
+initial apicid : 1
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu 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 fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 ida arat pku ospke
|
||||
+bogomips : 5999.99
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
diff --git a/tests/aws-kvm-x86/proc/self/status b/tests/aws-kvm-x86/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..5baf8de
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-x86/proc/self/status
|
||||
@@ -0,0 +1,46 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 20776
|
||||
+Ngid: 0
|
||||
+Pid: 20776
|
||||
+PPid: 17444
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 256
|
||||
+Groups: 0
|
||||
+VmPeak: 107972 kB
|
||||
+VmSize: 107972 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 360 kB
|
||||
+VmRSS: 360 kB
|
||||
+RssAnon: 76 kB
|
||||
+RssFile: 284 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 180 kB
|
||||
+VmStk: 132 kB
|
||||
+VmExe: 44 kB
|
||||
+VmLib: 1936 kB
|
||||
+VmPTE: 36 kB
|
||||
+VmSwap: 0 kB
|
||||
+Threads: 1
|
||||
+SigQ: 1/14026
|
||||
+SigPnd: 0000000000000000
|
||||
+ShdPnd: 0000000000000000
|
||||
+SigBlk: 0000000000000000
|
||||
+SigIgn: 0000000000000000
|
||||
+SigCgt: 0000000000000000
|
||||
+CapInh: 0000000000000000
|
||||
+CapPrm: 0000001fffffffff
|
||||
+CapEff: 0000001fffffffff
|
||||
+CapBnd: 0000001fffffffff
|
||||
+CapAmb: 0000000000000000
|
||||
+Seccomp: 0
|
||||
+Cpus_allowed: 3
|
||||
+Cpus_allowed_list: 0-1
|
||||
+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: 1
|
||||
+nonvoluntary_ctxt_switches: 1
|
||||
diff --git a/tests/aws-kvm-x86/sbin/dmidecode b/tests/aws-kvm-x86/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..3b5aa03
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-x86/sbin/dmidecode
|
||||
@@ -0,0 +1,68 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+# dmidecode 3.0
|
||||
+Getting SMBIOS data from sysfs.
|
||||
+SMBIOS 2.7 present.
|
||||
+5 structures occupying 233 bytes.
|
||||
+Table at 0x000F8FD0.
|
||||
+
|
||||
+Handle 0x0000, DMI type 0, 24 bytes
|
||||
+BIOS Information
|
||||
+ Vendor: Amazon EC2
|
||||
+ Version: 1.0
|
||||
+ Release Date: 10/16/2017
|
||||
+ 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: c5.large
|
||||
+ Version: Not Specified
|
||||
+ Serial Number: ec2cecdd-c1c8-7a71-0ea8-aef580c9f845
|
||||
+ UUID: EC2CECDD-C1C8-7A71-0EA8-AEF580C9F845
|
||||
+ 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-04f9b1c56b3c301b5
|
||||
+ 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 0x0004, DMI type 127, 4 bytes
|
||||
+End Of Table
|
||||
+
|
||||
+EOF
|
||||
diff --git a/tests/aws-kvm-x86/sbin/uname b/tests/aws-kvm-x86/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..ab0ec89
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-x86/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo x86_64
|
||||
diff --git a/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper b/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..f52a9d7
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo KVMKVMKVM
|
||||
diff --git a/tests/test-aws-kvm-x86.sh b/tests/test-aws-kvm-x86.sh
|
||||
new file mode 100755
|
||||
index 0000000..db4c19f
|
||||
--- /dev/null
|
||||
+++ b/tests/test-aws-kvm-x86.sh
|
||||
@@ -0,0 +1,35 @@
|
||||
+# 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-x86
|
||||
+
|
||||
+output="$(./virt-what --test-root=$root 2>&1)"
|
||||
+expected="kvm
|
||||
+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.31.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,358 +0,0 @@
|
||||
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/36] aws: Add regression test for AWS on Xen on x86_64
|
||||
architecture.
|
||||
|
||||
---
|
||||
Makefile.am | 6 +
|
||||
tests/aws-xen-x86/proc/cpuinfo | 52 +++++++
|
||||
tests/aws-xen-x86/proc/self/status | 46 ++++++
|
||||
tests/aws-xen-x86/sbin/dmidecode | 135 ++++++++++++++++++
|
||||
tests/aws-xen-x86/sbin/uname | 2 +
|
||||
tests/aws-xen-x86/sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/test-aws-xen-x86.sh | 36 +++++
|
||||
7 files changed, 279 insertions(+)
|
||||
create mode 100644 tests/aws-xen-x86/proc/cpuinfo
|
||||
create mode 100644 tests/aws-xen-x86/proc/self/status
|
||||
create mode 100755 tests/aws-xen-x86/sbin/dmidecode
|
||||
create mode 100755 tests/aws-xen-x86/sbin/uname
|
||||
create mode 100755 tests/aws-xen-x86/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/test-aws-xen-x86.sh
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index ad47097..22680a0 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -41,6 +41,7 @@ endif
|
||||
TESTS = \
|
||||
tests/test-aws-baremetal-x86.sh \
|
||||
tests/test-aws-kvm-x86.sh \
|
||||
+ tests/test-aws-xen-x86.sh \
|
||||
tests/test-baremetal.sh \
|
||||
tests/test-bhyve.sh \
|
||||
tests/test-docker.sh \
|
||||
@@ -85,6 +86,11 @@ EXTRA_DIST = \
|
||||
tests/aws-kvm-x86/sbin/dmidecode \
|
||||
tests/aws-kvm-x86/sbin/uname \
|
||||
tests/aws-kvm-x86/sbin/virt-what-cpuid-helper \
|
||||
+ tests/aws-xen-x86/proc/cpuinfo \
|
||||
+ tests/aws-xen-x86/proc/self/status \
|
||||
+ tests/aws-xen-x86/sbin/dmidecode \
|
||||
+ tests/aws-xen-x86/sbin/uname \
|
||||
+ tests/aws-xen-x86/sbin/virt-what-cpuid-helper \
|
||||
tests/baremetal/proc/cpuinfo \
|
||||
tests/baremetal/proc/self/status \
|
||||
tests/baremetal/sbin/dmidecode \
|
||||
diff --git a/tests/aws-xen-x86/proc/cpuinfo b/tests/aws-xen-x86/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..ff0b16b
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-xen-x86/proc/cpuinfo
|
||||
@@ -0,0 +1,52 @@
|
||||
+processor : 0
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 63
|
||||
+model name : Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90GHz
|
||||
+stepping : 2
|
||||
+microcode : 0x3c
|
||||
+cpu MHz : 2900.281
|
||||
+cache size : 25600 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu 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 fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
|
||||
+bogomips : 5800.06
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
+processor : 1
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 63
|
||||
+model name : Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90GHz
|
||||
+stepping : 2
|
||||
+microcode : 0x3c
|
||||
+cpu MHz : 2900.281
|
||||
+cache size : 25600 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+core id : 0
|
||||
+cpu cores : 1
|
||||
+apicid : 1
|
||||
+initial apicid : 1
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu 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 fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
|
||||
+bogomips : 5800.06
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
diff --git a/tests/aws-xen-x86/proc/self/status b/tests/aws-xen-x86/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..4e93816
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-xen-x86/proc/self/status
|
||||
@@ -0,0 +1,46 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 22828
|
||||
+Ngid: 0
|
||||
+Pid: 22828
|
||||
+PPid: 17431
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 256
|
||||
+Groups: 0
|
||||
+VmPeak: 107972 kB
|
||||
+VmSize: 107972 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 360 kB
|
||||
+VmRSS: 360 kB
|
||||
+RssAnon: 76 kB
|
||||
+RssFile: 284 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 180 kB
|
||||
+VmStk: 132 kB
|
||||
+VmExe: 44 kB
|
||||
+VmLib: 1936 kB
|
||||
+VmPTE: 36 kB
|
||||
+VmSwap: 0 kB
|
||||
+Threads: 1
|
||||
+SigQ: 0/14231
|
||||
+SigPnd: 0000000000000000
|
||||
+ShdPnd: 0000000000000000
|
||||
+SigBlk: 0000000000000000
|
||||
+SigIgn: 0000000000000000
|
||||
+SigCgt: 0000000000000000
|
||||
+CapInh: 0000000000000000
|
||||
+CapPrm: 0000001fffffffff
|
||||
+CapEff: 0000001fffffffff
|
||||
+CapBnd: 0000001fffffffff
|
||||
+CapAmb: 0000000000000000
|
||||
+Seccomp: 0
|
||||
+Cpus_allowed: 7fff
|
||||
+Cpus_allowed_list: 0-14
|
||||
+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: 1
|
||||
+nonvoluntary_ctxt_switches: 1
|
||||
diff --git a/tests/aws-xen-x86/sbin/dmidecode b/tests/aws-xen-x86/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..bc9cde5
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-xen-x86/sbin/dmidecode
|
||||
@@ -0,0 +1,135 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+# dmidecode 3.0
|
||||
+Getting SMBIOS data from sysfs.
|
||||
+SMBIOS 2.7 present.
|
||||
+12 structures occupying 398 bytes.
|
||||
+Table at 0x000EB01F.
|
||||
+
|
||||
+Handle 0x0000, DMI type 0, 24 bytes
|
||||
+BIOS Information
|
||||
+ Vendor: Xen
|
||||
+ Version: 4.2.amazon
|
||||
+ Release Date: 08/24/2006
|
||||
+ Address: 0xE8000
|
||||
+ Runtime Size: 96 kB
|
||||
+ ROM Size: 64 kB
|
||||
+ Characteristics:
|
||||
+ PCI is supported
|
||||
+ EDD is supported
|
||||
+ Targeted content distribution is supported
|
||||
+ BIOS Revision: 4.2
|
||||
+
|
||||
+Handle 0x0100, DMI type 1, 27 bytes
|
||||
+System Information
|
||||
+ Manufacturer: Xen
|
||||
+ Product Name: HVM domU
|
||||
+ Version: 4.2.amazon
|
||||
+ Serial Number: ec2f5c70-6dfc-83a7-f5ec-ef7b97aea4c9
|
||||
+ UUID: EC2F5C70-6DFC-83A7-F5EC-EF7B97AEA4C9
|
||||
+ Wake-up Type: Power Switch
|
||||
+ SKU Number: Not Specified
|
||||
+ Family: Not Specified
|
||||
+
|
||||
+Handle 0x0300, DMI type 3, 13 bytes
|
||||
+Chassis Information
|
||||
+ Manufacturer: Xen
|
||||
+ Type: Other
|
||||
+ Lock: Not Present
|
||||
+ Version: Not Specified
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Not Specified
|
||||
+ Boot-up State: Safe
|
||||
+ Power Supply State: Safe
|
||||
+ Thermal State: Safe
|
||||
+ Security Status: Unknown
|
||||
+
|
||||
+Handle 0x0401, DMI type 4, 26 bytes
|
||||
+Processor Information
|
||||
+ Socket Designation: CPU 1
|
||||
+ Type: Central Processor
|
||||
+ Family: Other
|
||||
+ Manufacturer: Intel
|
||||
+ ID: F2 06 03 00 FF FB 89 17
|
||||
+ Version: Not Specified
|
||||
+ Voltage: Unknown
|
||||
+ External Clock: Unknown
|
||||
+ Max Speed: 2900 MHz
|
||||
+ Current Speed: 2900 MHz
|
||||
+ Status: Populated, Enabled
|
||||
+ Upgrade: Other
|
||||
+
|
||||
+Handle 0x0402, DMI type 4, 26 bytes
|
||||
+Processor Information
|
||||
+ Socket Designation: CPU 2
|
||||
+ Type: Central Processor
|
||||
+ Family: Other
|
||||
+ Manufacturer: Intel
|
||||
+ ID: F2 06 03 00 FF FB 89 17
|
||||
+ Version: Not Specified
|
||||
+ Voltage: Unknown
|
||||
+ External Clock: Unknown
|
||||
+ Max Speed: 2900 MHz
|
||||
+ Current Speed: 2900 MHz
|
||||
+ Status: Populated, Enabled
|
||||
+ Upgrade: Other
|
||||
+
|
||||
+Handle 0x0B00, DMI type 11, 5 bytes
|
||||
+OEM Strings
|
||||
+ String 1: Xen
|
||||
+
|
||||
+Handle 0x1000, DMI type 16, 19 bytes
|
||||
+Physical Memory Array
|
||||
+ Location: Other
|
||||
+ Use: System Memory
|
||||
+ Error Correction Type: Multi-bit ECC
|
||||
+ Maximum Capacity: 3840 MB
|
||||
+ Error Information Handle: Not Provided
|
||||
+ Number Of Devices: 1
|
||||
+
|
||||
+Handle 0x1100, DMI type 17, 34 bytes
|
||||
+Memory Device
|
||||
+ Array Handle: 0x1000
|
||||
+ Error Information Handle: 0x0000
|
||||
+ Total Width: 64 bits
|
||||
+ Data Width: 64 bits
|
||||
+ Size: 3840 MB
|
||||
+ Form Factor: DIMM
|
||||
+ Set: None
|
||||
+ Locator: DIMM 0
|
||||
+ Bank Locator: Not Specified
|
||||
+ Type: RAM
|
||||
+ Type Detail: None
|
||||
+ Speed: Unknown
|
||||
+ Manufacturer: Not Specified
|
||||
+ Serial Number: Not Specified
|
||||
+ Asset Tag: Not Specified
|
||||
+ Part Number: Not Specified
|
||||
+ Rank: Unknown
|
||||
+ Configured Clock Speed: Unknown
|
||||
+
|
||||
+Handle 0x1300, DMI type 19, 31 bytes
|
||||
+Memory Array Mapped Address
|
||||
+ Starting Address: 0x00000000000
|
||||
+ Ending Address: 0x000EFFFFFFF
|
||||
+ Range Size: 3840 MB
|
||||
+ Physical Array Handle: 0x1000
|
||||
+ Partition Width: 1
|
||||
+
|
||||
+Handle 0x1400, DMI type 20, 35 bytes
|
||||
+Memory Device Mapped Address
|
||||
+ Starting Address: 0x00000000000
|
||||
+ Ending Address: 0x000EFFFFFFF
|
||||
+ Range Size: 3840 MB
|
||||
+ Physical Device Handle: 0x1100
|
||||
+ Memory Array Mapped Address Handle: 0x1300
|
||||
+ Partition Row Position: 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/aws-xen-x86/sbin/uname b/tests/aws-xen-x86/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..ab0ec89
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-xen-x86/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo x86_64
|
||||
diff --git a/tests/aws-xen-x86/sbin/virt-what-cpuid-helper b/tests/aws-xen-x86/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..8d8df4a
|
||||
--- /dev/null
|
||||
+++ b/tests/aws-xen-x86/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo XenVMMXenVMM
|
||||
diff --git a/tests/test-aws-xen-x86.sh b/tests/test-aws-xen-x86.sh
|
||||
new file mode 100755
|
||||
index 0000000..22b7f83
|
||||
--- /dev/null
|
||||
+++ b/tests/test-aws-xen-x86.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-xen-x86
|
||||
+
|
||||
+output="$(./virt-what --test-root=$root 2>&1)"
|
||||
+expected="xen
|
||||
+xen-hvm
|
||||
+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.31.1
|
||||
|
@ -1,244 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,25 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,51 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,118 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,405 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,38 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,27 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,267 +0,0 @@
|
||||
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/36] 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.31.1
|
||||
|
@ -1,48 +0,0 @@
|
||||
From a24df0c780aaf74f0ed408bc55386b9f933fb7aa Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
|
||||
Date: Sun, 1 Dec 2019 07:58:04 +0200
|
||||
Subject: [PATCH 23/36] docker: Check for /.dockerenv too
|
||||
|
||||
/.dockerinit may no longer exist.
|
||||
|
||||
Ref https://github.com/moby/moby/issues/18355
|
||||
|
||||
(cherry picked from commit e2c49cda221f95cb65b1b3ac3ae15aa41d92f519)
|
||||
---
|
||||
tests/docker/.dockerenv | 0
|
||||
tests/docker/Makefile.am | 1 +
|
||||
virt-what.in | 2 +-
|
||||
3 files changed, 2 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/docker/.dockerenv
|
||||
|
||||
diff --git a/tests/docker/.dockerenv b/tests/docker/.dockerenv
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/docker/Makefile.am b/tests/docker/Makefile.am
|
||||
index e0ea991..e2a95d8 100644
|
||||
--- a/tests/docker/Makefile.am
|
||||
+++ b/tests/docker/Makefile.am
|
||||
@@ -21,6 +21,7 @@ TESTS = test.sh
|
||||
|
||||
EXTRA_DIST = \
|
||||
test.sh \
|
||||
+ .dockerenv \
|
||||
.dockerinit \
|
||||
proc/cpuinfo \
|
||||
proc/self/status \
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 59743c3..900a05d 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -349,7 +349,7 @@ if ! "$skip_lkvm"; then
|
||||
fi
|
||||
|
||||
# Check for Docker.
|
||||
-if [ -f "${root}/.dockerinit" ]; then
|
||||
+if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ]; then
|
||||
echo docker
|
||||
fi
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,63 +0,0 @@
|
||||
From 6831ccb71a7b19c6e5cb970026cbffff39928e2b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
|
||||
Date: Sun, 1 Dec 2019 08:21:32 +0200
|
||||
Subject: [PATCH 24/36] docker: Lookup from /proc/self/cgroup too
|
||||
|
||||
Refs https://github.com/moby/moby/issues/18355
|
||||
|
||||
(cherry picked from commit 57f0c3cc6a7e631f644d67f05b002c6004bb6601)
|
||||
---
|
||||
tests/docker/Makefile.am | 1 +
|
||||
tests/docker/proc/self/cgroup | 13 +++++++++++++
|
||||
virt-what.in | 3 ++-
|
||||
3 files changed, 16 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/docker/proc/self/cgroup
|
||||
|
||||
diff --git a/tests/docker/Makefile.am b/tests/docker/Makefile.am
|
||||
index e2a95d8..401f372 100644
|
||||
--- a/tests/docker/Makefile.am
|
||||
+++ b/tests/docker/Makefile.am
|
||||
@@ -24,6 +24,7 @@ EXTRA_DIST = \
|
||||
.dockerenv \
|
||||
.dockerinit \
|
||||
proc/cpuinfo \
|
||||
+ proc/self/cgroup \
|
||||
proc/self/status \
|
||||
sbin/dmidecode \
|
||||
sbin/uname \
|
||||
diff --git a/tests/docker/proc/self/cgroup b/tests/docker/proc/self/cgroup
|
||||
new file mode 100644
|
||||
index 0000000..5547637
|
||||
--- /dev/null
|
||||
+++ b/tests/docker/proc/self/cgroup
|
||||
@@ -0,0 +1,13 @@
|
||||
+12:devices:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+11:blkio:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+10:perf_event:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+9:pids:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+8:cpuset:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+7:rdma:/
|
||||
+6:hugetlb:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+5:net_cls,net_prio:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+4:memory:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+3:freezer:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+2:cpu,cpuacct:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+1:name=systemd:/docker/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
|
||||
+0::/system.slice/containerd.service
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 900a05d..6330fd0 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -349,7 +349,8 @@ if ! "$skip_lkvm"; then
|
||||
fi
|
||||
|
||||
# Check for Docker.
|
||||
-if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ]; then
|
||||
+if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ] || \
|
||||
+ grep -qF /docker/ "${root}/proc/self/cgroup" 2>/dev/null; then
|
||||
echo docker
|
||||
fi
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,62 +0,0 @@
|
||||
From 88eb2b7fbd7e6af1cd1860c3f2023ee7b9125d37 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 25/36] 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
|
||||
|
||||
(cherry picked from commit 60d903fbb7653bc9754228bdab4c6933fcda1e72)
|
||||
---
|
||||
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.31.1
|
||||
|
@ -1,233 +0,0 @@
|
||||
From 3277b38cc88e577c7da7838a6366efbf3d22c538 Mon Sep 17 00:00:00 2001
|
||||
From: Jordan Webb <jordemort@github.com>
|
||||
Date: Mon, 13 Apr 2020 21:41:30 +0000
|
||||
Subject: [PATCH 26/36] Add podman support
|
||||
|
||||
(cherry picked from commit 1df728aa4b1d2814265f9c86494f7d55ee0cf9af)
|
||||
---
|
||||
configure.ac | 2 ++
|
||||
tests/podman/1/environ | Bin 0 -> 155 bytes
|
||||
tests/podman/Makefile.am | 29 ++++++++++++++++++++
|
||||
tests/podman/proc/cpuinfo | 0
|
||||
tests/podman/proc/self/cgroup | 10 +++++++
|
||||
tests/podman/proc/self/status | 0
|
||||
tests/podman/sbin/dmidecode | 6 +++++
|
||||
tests/podman/sbin/uname | 2 ++
|
||||
tests/podman/sbin/virt-what-cpuid-helper | 2 ++
|
||||
tests/podman/test.sh | 32 +++++++++++++++++++++++
|
||||
virt-what.in | 10 ++++++-
|
||||
virt-what.pod | 6 +++++
|
||||
12 files changed, 98 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/podman/1/environ
|
||||
create mode 100644 tests/podman/Makefile.am
|
||||
create mode 100644 tests/podman/proc/cpuinfo
|
||||
create mode 100644 tests/podman/proc/self/cgroup
|
||||
create mode 100644 tests/podman/proc/self/status
|
||||
create mode 100755 tests/podman/sbin/dmidecode
|
||||
create mode 100755 tests/podman/sbin/uname
|
||||
create mode 100755 tests/podman/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/podman/test.sh
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f9b3096..5fd716b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -54,6 +54,7 @@ tests="\
|
||||
lxc \
|
||||
nutanix-ahv \
|
||||
parallels-desktop \
|
||||
+ podman \
|
||||
ppc64-baremetal \
|
||||
ppc64-kvm \
|
||||
ppc64-lpar-dedicated \
|
||||
@@ -98,6 +99,7 @@ AC_CONFIG_FILES([Makefile
|
||||
tests/lxc/Makefile
|
||||
tests/nutanix-ahv/Makefile
|
||||
tests/parallels-desktop/Makefile
|
||||
+ tests/podman/Makefile
|
||||
tests/ppc64-baremetal/Makefile
|
||||
tests/ppc64-kvm/Makefile
|
||||
tests/ppc64-lpar-dedicated/Makefile
|
||||
diff --git a/tests/podman/1/environ b/tests/podman/1/environ
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..dd6f0d4d67a151ab7bab97565b0737b8dbf7db44
|
||||
GIT binary patch
|
||||
literal 155
|
||||
zcmYL>K?=hl5JhL*%XorW3^JI2CJ>u-F>Rni)ncUd_?@JS?B@UX=Ygfcpaw_1MfC|)
|
||||
zr4V1LmeOGMJmGP5qhtJ+`+g?F^0V`SgdCeIPY%CrtqJUC&fa%yMZLtVmasj+>YHQl
|
||||
YMd8IEi3Dr7m)t_kYsGhYq>$nA11>u+CjbBd
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/tests/podman/Makefile.am b/tests/podman/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..a4c70ad
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/Makefile.am
|
||||
@@ -0,0 +1,29 @@
|
||||
+# 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/cgroup \
|
||||
+ proc/self/status \
|
||||
+ sbin/dmidecode \
|
||||
+ sbin/uname \
|
||||
+ sbin/virt-what-cpuid-helper
|
||||
diff --git a/tests/podman/proc/cpuinfo b/tests/podman/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/podman/proc/self/cgroup b/tests/podman/proc/self/cgroup
|
||||
new file mode 100644
|
||||
index 0000000..11fc74e
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/proc/self/cgroup
|
||||
@@ -0,0 +1,10 @@
|
||||
+11:perf_event:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+10:devices:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+8:pids:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+7:blkio:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+6:cpu,cpuacct:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+5:net_cls,net_prio:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+4:freezer:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+3:cpuset:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+2:memory:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
+1:name=systemd:/machine.slice/libpod-2ed85a65b4d6aedbf4e6bd1bb2d29e6d7778791bd02532788eb16954cebf01da.scope
|
||||
diff --git a/tests/podman/proc/self/status b/tests/podman/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/podman/sbin/dmidecode b/tests/podman/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..d9992ad
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/sbin/dmidecode
|
||||
@@ -0,0 +1,6 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+# dmidecode 2.11
|
||||
+/dev/mem: Operation not permitted
|
||||
+EOF
|
||||
+exit 1
|
||||
diff --git a/tests/podman/sbin/uname b/tests/podman/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..ab0ec89
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo x86_64
|
||||
diff --git a/tests/podman/sbin/virt-what-cpuid-helper b/tests/podman/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..ad82504
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo @
|
||||
diff --git a/tests/podman/test.sh b/tests/podman/test.sh
|
||||
new file mode 100755
|
||||
index 0000000..6db58e5
|
||||
--- /dev/null
|
||||
+++ b/tests/podman/test.sh
|
||||
@@ -0,0 +1,32 @@
|
||||
+# Test for Podman
|
||||
+# 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="podman"
|
||||
+
|
||||
+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 6330fd0..b7d266b 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -165,7 +165,7 @@ fi
|
||||
# Added by Marc Fournier
|
||||
|
||||
if [ -e "${root}/proc/1/environ" ] &&
|
||||
- cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container='; then
|
||||
+ cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=lxc'; then
|
||||
echo lxc
|
||||
fi
|
||||
|
||||
@@ -354,6 +354,14 @@ if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ] || \
|
||||
echo docker
|
||||
fi
|
||||
|
||||
+# Check for Podman.
|
||||
+if [ -e "${root}/proc/1/environ" ] &&
|
||||
+ cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=podman'; then
|
||||
+ echo podman
|
||||
+elif grep -qF /libpod- "${root}/proc/self/cgroup" 2>/dev/null; then
|
||||
+ echo podman
|
||||
+fi
|
||||
+
|
||||
# Check ppc64 lpar, kvm or powerkvm
|
||||
|
||||
# example /proc/cpuinfo line indicating 'not baremetal'
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index ea5cb77..405537b 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -204,6 +204,12 @@ The guest is running inside Parallels Virtual Platform
|
||||
|
||||
Status: contributed by Justin Clift
|
||||
|
||||
+=item B<podman>
|
||||
+
|
||||
+This is a Podman container.
|
||||
+
|
||||
+Status: contributed by Jordan Webb
|
||||
+
|
||||
=item B<powervm_lx86>
|
||||
|
||||
The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,29 +0,0 @@
|
||||
From e0ba7102f7a2e926773e16dc0ea8bf959862c4b7 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 26 May 2021 11:31:24 +0100
|
||||
Subject: [PATCH 27/36] aws: Match multi-digit version number in BIOS
|
||||
information
|
||||
|
||||
See: https://listman.redhat.com/archives/virt-tools-list/2021-May/msg00011.html
|
||||
Reported-by: Stuart Cooper
|
||||
(cherry picked from commit b1eae421ff3fdbac0f9ec5b300259c16ff7b1d93)
|
||||
---
|
||||
virt-what.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index b7d266b..8021290 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -413,7 +413,7 @@ fi
|
||||
|
||||
# Check for AWS.
|
||||
# AWS on Xen.
|
||||
-if echo "$dmi" | grep -q 'Version: [0-9]\.[0-9]\.amazon'; then
|
||||
+if echo "$dmi" | grep -Eq 'Version: [0-9]+\.[0-9]+\.amazon'; then
|
||||
echo aws
|
||||
# AWS on baremetal or KVM.
|
||||
elif echo "$dmi" | grep -q 'Vendor: Amazon EC2'; then
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 4da6d385eb5a2b262d3304304c3eba803dd8cc1a Mon Sep 17 00:00:00 2001
|
||||
From: Weisson <hanxiaobupt@bupt.edu.cn>
|
||||
Date: Thu, 27 May 2021 10:53:08 +0100
|
||||
Subject: [PATCH 28/36] Add support for Alibaba Cloud Linux
|
||||
|
||||
(cherry picked from commit ed11e2d298ec7466fac656a38a2cefd386130420)
|
||||
---
|
||||
virt-what.in | 5 +++++
|
||||
virt-what.pod | 6 ++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 8021290..3dac91a 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -113,6 +113,11 @@ dmi=$(LANG=C dmidecode 2>&1)
|
||||
|
||||
arch=$(uname -m | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
|
||||
|
||||
+# Check for Alibaba Cloud
|
||||
+if echo "$dmi" | grep -q 'Manufacturer: Alibaba Cloud'; then
|
||||
+ echo "alibaba_cloud"
|
||||
+fi
|
||||
+
|
||||
# Check for VMware.
|
||||
# cpuid check added by Chetan Loke.
|
||||
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 405537b..9f8bea2 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -25,6 +25,12 @@ don't know about or cannot detect.
|
||||
|
||||
=over 4
|
||||
|
||||
+=item B<alibaba_cloud>
|
||||
+
|
||||
+This is a cloud computing service based on Alibaba Cloud.
|
||||
+
|
||||
+Status: contributed by Weisson.
|
||||
+
|
||||
=item B<aws>
|
||||
|
||||
Amazon Web Services.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,392 +0,0 @@
|
||||
From 6655488e00f9c5da802c739c46e3a0ee070b503c Mon Sep 17 00:00:00 2001
|
||||
From: Weisson <hanxiaobupt@bupt.edu.cn>
|
||||
Date: Thu, 27 May 2021 10:55:57 +0100
|
||||
Subject: [PATCH 29/36] Add test for Alibaba Cloud Linux
|
||||
|
||||
(cherry picked from commit 7e679278431aa1a188dfe423526dfea82fddcbd3)
|
||||
---
|
||||
configure.ac | 2 +
|
||||
tests/alibaba-cloud-x86/Makefile.am | 27 ++++
|
||||
tests/alibaba-cloud-x86/proc/cpuinfo | 53 +++++++
|
||||
tests/alibaba-cloud-x86/proc/self/status | 54 ++++++++
|
||||
tests/alibaba-cloud-x86/sbin/dmidecode | 131 ++++++++++++++++++
|
||||
tests/alibaba-cloud-x86/sbin/uname | 2 +
|
||||
.../sbin/virt-what-cpuid-helper | 2 +
|
||||
tests/alibaba-cloud-x86/test.sh | 33 +++++
|
||||
8 files changed, 304 insertions(+)
|
||||
create mode 100644 tests/alibaba-cloud-x86/Makefile.am
|
||||
create mode 100644 tests/alibaba-cloud-x86/proc/cpuinfo
|
||||
create mode 100644 tests/alibaba-cloud-x86/proc/self/status
|
||||
create mode 100755 tests/alibaba-cloud-x86/sbin/dmidecode
|
||||
create mode 100755 tests/alibaba-cloud-x86/sbin/uname
|
||||
create mode 100755 tests/alibaba-cloud-x86/sbin/virt-what-cpuid-helper
|
||||
create mode 100755 tests/alibaba-cloud-x86/test.sh
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5fd716b..40a57b7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -34,6 +34,7 @@ AM_CONDITIONAL([HOST_CPU_IA64], [ test "x$host_cpu" = "xia64" ])
|
||||
|
||||
dnl List of tests.
|
||||
tests="\
|
||||
+ alibaba-cloud-x86 \
|
||||
aws-baremetal-x86 \
|
||||
aws-kvm-arm \
|
||||
aws-kvm-x86 \
|
||||
@@ -79,6 +80,7 @@ AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([virt-what],[chmod +x virt-what])
|
||||
AC_CONFIG_FILES([Makefile
|
||||
tests/Makefile
|
||||
+ tests/alibaba-cloud-x86/Makefile
|
||||
tests/aws-baremetal-x86/Makefile
|
||||
tests/aws-kvm-arm/Makefile
|
||||
tests/aws-kvm-x86/Makefile
|
||||
diff --git a/tests/alibaba-cloud-x86/Makefile.am b/tests/alibaba-cloud-x86/Makefile.am
|
||||
new file mode 100644
|
||||
index 0000000..c9ea7a1
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/Makefile.am
|
||||
@@ -0,0 +1,27 @@
|
||||
+# 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/virt-what-cpuid-helper
|
||||
diff --git a/tests/alibaba-cloud-x86/proc/cpuinfo b/tests/alibaba-cloud-x86/proc/cpuinfo
|
||||
new file mode 100644
|
||||
index 0000000..99fa1af
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/proc/cpuinfo
|
||||
@@ -0,0 +1,53 @@
|
||||
+processor : 0
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 85
|
||||
+model name : Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
|
||||
+stepping : 7
|
||||
+microcode : 0x1
|
||||
+cpu MHz : 2500.002
|
||||
+cache size : 36608 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+core id : 0
|
||||
+cpu cores : 1
|
||||
+apicid : 0
|
||||
+initial apicid : 0
|
||||
+fpu : yes
|
||||
+fpu_exception : yes
|
||||
+cpuid level : 22
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512_vnni
|
||||
+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
|
||||
+bogomips : 5000.00
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
+
|
||||
+processor : 1
|
||||
+vendor_id : GenuineIntel
|
||||
+cpu family : 6
|
||||
+model : 85
|
||||
+model name : Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
|
||||
+stepping : 7
|
||||
+microcode : 0x1
|
||||
+cpu MHz : 2500.002
|
||||
+cache size : 36608 KB
|
||||
+physical id : 0
|
||||
+siblings : 2
|
||||
+core id : 0
|
||||
+cpu cores : 1
|
||||
+apicid : 1
|
||||
+initial apicid : 1
|
||||
+fpu : yes
|
||||
+fpu_exception : yes
|
||||
+cpuid level : 22
|
||||
+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 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512_vnni
|
||||
+bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
|
||||
+bogomips : 5000.00
|
||||
+clflush size : 64
|
||||
+cache_alignment : 64
|
||||
+address sizes : 46 bits physical, 48 bits virtual
|
||||
+power management:
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/alibaba-cloud-x86/proc/self/status b/tests/alibaba-cloud-x86/proc/self/status
|
||||
new file mode 100644
|
||||
index 0000000..1ea7195
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/proc/self/status
|
||||
@@ -0,0 +1,54 @@
|
||||
+Name: cat
|
||||
+Umask: 0022
|
||||
+State: R (running)
|
||||
+Tgid: 25933
|
||||
+Ngid: 0
|
||||
+Pid: 25933
|
||||
+PPid: 25932
|
||||
+TracerPid: 0
|
||||
+Uid: 0 0 0 0
|
||||
+Gid: 0 0 0 0
|
||||
+FDSize: 64
|
||||
+Groups: 0
|
||||
+NStgid: 25933
|
||||
+NSpid: 25933
|
||||
+NSpgid: 25932
|
||||
+NSsid: 25039
|
||||
+VmPeak: 108084 kB
|
||||
+VmSize: 108084 kB
|
||||
+VmLck: 0 kB
|
||||
+VmPin: 0 kB
|
||||
+VmHWM: 748 kB
|
||||
+VmRSS: 748 kB
|
||||
+RssAnon: 76 kB
|
||||
+RssFile: 672 kB
|
||||
+RssShmem: 0 kB
|
||||
+VmData: 188 kB
|
||||
+VmStk: 132 kB
|
||||
+VmExe: 44 kB
|
||||
+VmLib: 1952 kB
|
||||
+VmPTE: 68 kB
|
||||
+VmSwap: 0 kB
|
||||
+HugetlbPages: 0 kB
|
||||
+CoreDumping: 0
|
||||
+Threads: 1
|
||||
+SigQ: 0/30350
|
||||
+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: 00000000,00000001
|
||||
+Mems_allowed_list: 0
|
||||
+voluntary_ctxt_switches: 0
|
||||
+nonvoluntary_ctxt_switches: 2
|
||||
diff --git a/tests/alibaba-cloud-x86/sbin/dmidecode b/tests/alibaba-cloud-x86/sbin/dmidecode
|
||||
new file mode 100755
|
||||
index 0000000..2ed2ef3
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/sbin/dmidecode
|
||||
@@ -0,0 +1,131 @@
|
||||
+#!/bin/sh -
|
||||
+cat <<'EOF'
|
||||
+# dmidecode 3.2
|
||||
+Getting SMBIOS data from sysfs.
|
||||
+SMBIOS 2.8 present.
|
||||
+10 structures occupying 462 bytes.
|
||||
+Table at 0x000F5840.
|
||||
+
|
||||
+Handle 0x0000, DMI type 0, 24 bytes
|
||||
+BIOS Information
|
||||
+ Vendor: SeaBIOS
|
||||
+ Version: 8c24b4c
|
||||
+ 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: Alibaba Cloud
|
||||
+ Product Name: Alibaba Cloud ECS
|
||||
+ Version: pc-i440fx-2.1
|
||||
+ Serial Number: 20fb1c97-feb0-4c45-b8b9-bb06feeba0b5
|
||||
+ UUID: 20fb1c97-feb0-4c45-b8b9-bb06feeba0b5
|
||||
+ Wake-up Type: Power Switch
|
||||
+ SKU Number: Not Specified
|
||||
+ Family: Not Specified
|
||||
+
|
||||
+Handle 0x0300, DMI type 3, 21 bytes
|
||||
+Chassis Information
|
||||
+ Manufacturer: Alibaba Cloud
|
||||
+ Type: Other
|
||||
+ Lock: Not Present
|
||||
+ Version: pc-i440fx-2.1
|
||||
+ 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: Alibaba Cloud
|
||||
+ ID: 57 06 05 00 FF FB 8B 0F
|
||||
+ Version: pc-i440fx-2.1
|
||||
+ Voltage: Unknown
|
||||
+ External Clock: Unknown
|
||||
+ Max Speed: Unknown
|
||||
+ Current Speed: Unknown
|
||||
+ 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: 2
|
||||
+ 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: 8 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: 8192 MB
|
||||
+ Form Factor: DIMM
|
||||
+ Set: None
|
||||
+ Locator: DIMM 0
|
||||
+ Bank Locator: Not Specified
|
||||
+ Type: RAM
|
||||
+ Type Detail: Other
|
||||
+ Speed: Unknown
|
||||
+ Manufacturer: Alibaba Cloud
|
||||
+ 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: 0x000BFFFFFFF
|
||||
+ Range Size: 3 GB
|
||||
+ Physical Array Handle: 0x1000
|
||||
+ Partition Width: 1
|
||||
+
|
||||
+Handle 0x1301, DMI type 19, 31 bytes
|
||||
+Memory Array Mapped Address
|
||||
+ Starting Address: 0x00100000000
|
||||
+ Ending Address: 0x0023FFFFFFF
|
||||
+ Range Size: 5 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/alibaba-cloud-x86/sbin/uname b/tests/alibaba-cloud-x86/sbin/uname
|
||||
new file mode 100755
|
||||
index 0000000..ab0ec89
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/sbin/uname
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo x86_64
|
||||
diff --git a/tests/alibaba-cloud-x86/sbin/virt-what-cpuid-helper b/tests/alibaba-cloud-x86/sbin/virt-what-cpuid-helper
|
||||
new file mode 100755
|
||||
index 0000000..f52a9d7
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/sbin/virt-what-cpuid-helper
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/sh -
|
||||
+echo KVMKVMKVM
|
||||
diff --git a/tests/alibaba-cloud-x86/test.sh b/tests/alibaba-cloud-x86/test.sh
|
||||
new file mode 100755
|
||||
index 0000000..afa2f44
|
||||
--- /dev/null
|
||||
+++ b/tests/alibaba-cloud-x86/test.sh
|
||||
@@ -0,0 +1,33 @@
|
||||
+# Test for Alibaba Cloud
|
||||
+# 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.
|
||||
+
|
||||
+output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
+expected="alibaba_cloud
|
||||
+kvm"
|
||||
+
|
||||
+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.31.1
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 579addba79dccf0cfc84ee80ffb1f8c678be46ee Mon Sep 17 00:00:00 2001
|
||||
From: Weisson <hanxiaobupt@bupt.edu.cn>
|
||||
Date: Tue, 1 Jun 2021 20:49:17 +0800
|
||||
Subject: [PATCH 30/36] Check for Alibaba Cloud X-Dragon Architecture
|
||||
|
||||
Thanks to Richard W.M. Jones' Super Powerful Bash Script
|
||||
|
||||
(cherry picked from commit b7cc3d93a613ef6d0ac5ccd6e32cc3d66e057243)
|
||||
---
|
||||
virt-what.in | 9 +++++++--
|
||||
virt-what.pod | 2 ++
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 3dac91a..520f7b0 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -114,8 +114,13 @@ dmi=$(LANG=C dmidecode 2>&1)
|
||||
arch=$(uname -m | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
|
||||
|
||||
# Check for Alibaba Cloud
|
||||
-if echo "$dmi" | grep -q 'Manufacturer: Alibaba Cloud'; then
|
||||
- echo "alibaba_cloud"
|
||||
+if echo "$dmi" | grep -q 'Manufacturer: Alibaba'; then
|
||||
+ # Check for Alibaba Cloud X-Dragon Architecture
|
||||
+ if ( { echo -e "GET /latest/meta-datainstance/instance-type HTTP/1.0\r\nHost: 100.100.100.200\r\n\r" >&3; grep -sq 'ebm' <&3 ; } 3<> /dev/tcp/100.100.100.200/80 ) 2>/dev/null ; then
|
||||
+ echo "alibaba_cloud-x_dragon"
|
||||
+ else
|
||||
+ echo "alibaba_cloud"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
# Check for VMware.
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 9f8bea2..6e29570 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -27,6 +27,8 @@ don't know about or cannot detect.
|
||||
|
||||
=item B<alibaba_cloud>
|
||||
|
||||
+=item B<alibaba_cloud-x_dragon>
|
||||
+
|
||||
This is a cloud computing service based on Alibaba Cloud.
|
||||
|
||||
Status: contributed by Weisson.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 68ac4a8bb0cb63b5df4a25451e66f7d6d96b2a9d Mon Sep 17 00:00:00 2001
|
||||
From: Weisson <hanxiaobupt@bupt.edu.cn>
|
||||
Date: Fri, 2 Jul 2021 17:06:07 +0800
|
||||
Subject: [PATCH 31/36] use official product name for alibaba cloud bare-metal
|
||||
instances
|
||||
|
||||
(cherry picked from commit c1980aebe6597950c34fc9e94d54e8fd0177cc27)
|
||||
---
|
||||
virt-what.in | 4 ++--
|
||||
virt-what.pod | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 520f7b0..3573221 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -115,9 +115,9 @@ arch=$(uname -m | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')
|
||||
|
||||
# Check for Alibaba Cloud
|
||||
if echo "$dmi" | grep -q 'Manufacturer: Alibaba'; then
|
||||
- # Check for Alibaba Cloud X-Dragon Architecture
|
||||
+ # Check for Alibaba Cloud ECS Bare Metal (EBM) Instance
|
||||
if ( { echo -e "GET /latest/meta-datainstance/instance-type HTTP/1.0\r\nHost: 100.100.100.200\r\n\r" >&3; grep -sq 'ebm' <&3 ; } 3<> /dev/tcp/100.100.100.200/80 ) 2>/dev/null ; then
|
||||
- echo "alibaba_cloud-x_dragon"
|
||||
+ echo "alibaba_cloud-ebm"
|
||||
else
|
||||
echo "alibaba_cloud"
|
||||
fi
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 6e29570..381385b 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -27,7 +27,7 @@ don't know about or cannot detect.
|
||||
|
||||
=item B<alibaba_cloud>
|
||||
|
||||
-=item B<alibaba_cloud-x_dragon>
|
||||
+=item B<alibaba_cloud-ebm>
|
||||
|
||||
This is a cloud computing service based on Alibaba Cloud.
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 3bd5bffe607be834708b4c265fd3982e6acd168b Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Mon, 19 Jul 2021 15:14:32 +0100
|
||||
Subject: [PATCH 32/36] Add Google Cloud (not tested)
|
||||
|
||||
Thanks: Paolo Bonzini
|
||||
(cherry picked from commit 8363fa9f0e2cbd970f34ffb7c7b23ed0ac2c374a)
|
||||
---
|
||||
virt-what.in | 5 +++++
|
||||
virt-what.pod | 6 ++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 3573221..aacbb13 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -247,6 +247,11 @@ if echo "$dmi" | grep -q 'Product Name: RHEV Hypervisor'; then
|
||||
echo rhev
|
||||
fi
|
||||
|
||||
+# Google Cloud
|
||||
+if echo "$dmi" | grep -q 'Product Name: Google Compute Engine'; then
|
||||
+ echo google_cloud
|
||||
+fi
|
||||
+
|
||||
# Check for Xen.
|
||||
|
||||
if [ "$cpuid" = "XenVMMXenVMM" ] &&
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 381385b..5ca63fe 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -55,6 +55,12 @@ This is a Docker container.
|
||||
|
||||
Status: confirmed by Charles Nguyen
|
||||
|
||||
+=item B<google_cloud>
|
||||
+
|
||||
+This is running on Google Cloud Platform / Google Compute Engine.
|
||||
+
|
||||
+Status: not confirmed
|
||||
+
|
||||
=item B<hyperv>
|
||||
|
||||
This is Microsoft Hyper-V hypervisor.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,101 +0,0 @@
|
||||
From 71d90582eaa852f7a663e8a77cfe90574760357e Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Mon, 19 Jul 2021 18:05:14 +0100
|
||||
Subject: [PATCH 33/36] Add detection of Red Hat's hypervisor
|
||||
|
||||
Red Hat sets the following fields in SMBIOS information, allowing us
|
||||
to detect that it's the branded Red Hat hypervisor.
|
||||
|
||||
Manufacturer: Red Hat
|
||||
Product Name: KVM
|
||||
Version: RHEL 7.6.0 PC (i440FX + PIIX, 1996)
|
||||
|
||||
Note that "RHEL 7.6.0" there is the machine type, which is not the
|
||||
same as the hypervisor version (although the two have a relationship).
|
||||
|
||||
Thanks: Timothy Smith at IBM, Karen Noel
|
||||
(cherry picked from commit b64df398779db07d008781c96685878795bcfd67)
|
||||
---
|
||||
tests/nutanix-ahv/test.sh | 3 ++-
|
||||
tests/rhel5-xen-domU-hvm/test.sh | 3 ++-
|
||||
tests/rhev/test.sh | 1 +
|
||||
virt-what.in | 5 +++++
|
||||
virt-what.pod | 6 ++++++
|
||||
5 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/nutanix-ahv/test.sh b/tests/nutanix-ahv/test.sh
|
||||
index 3d934b2..a998dc0 100755
|
||||
--- a/tests/nutanix-ahv/test.sh
|
||||
+++ b/tests/nutanix-ahv/test.sh
|
||||
@@ -16,7 +16,8 @@
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
-expected="nutanix_ahv"
|
||||
+expected="nutanix_ahv
|
||||
+redhat"
|
||||
|
||||
if [ "$output" != "$expected" ]; then
|
||||
echo "$0: test failed because output did not match expected"
|
||||
diff --git a/tests/rhel5-xen-domU-hvm/test.sh b/tests/rhel5-xen-domU-hvm/test.sh
|
||||
index 627de55..b88ef5c 100755
|
||||
--- a/tests/rhel5-xen-domU-hvm/test.sh
|
||||
+++ b/tests/rhel5-xen-domU-hvm/test.sh
|
||||
@@ -16,7 +16,8 @@
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
-expected="xen
|
||||
+expected="redhat
|
||||
+xen
|
||||
xen-hvm"
|
||||
|
||||
if [ "$output" != "$expected" ]; then
|
||||
diff --git a/tests/rhev/test.sh b/tests/rhev/test.sh
|
||||
index 7d9c22f..9ba9315 100755
|
||||
--- a/tests/rhev/test.sh
|
||||
+++ b/tests/rhev/test.sh
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
expected="rhev
|
||||
+redhat
|
||||
kvm"
|
||||
|
||||
if [ "$output" != "$expected" ]; then
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index aacbb13..850760e 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -252,6 +252,11 @@ if echo "$dmi" | grep -q 'Product Name: Google Compute Engine'; then
|
||||
echo google_cloud
|
||||
fi
|
||||
|
||||
+# Red Hat's hypervisor.
|
||||
+if echo "$dmi" | grep -q 'Manufacturer: Red Hat'; then
|
||||
+ echo redhat
|
||||
+fi
|
||||
+
|
||||
# Check for Xen.
|
||||
|
||||
if [ "$cpuid" = "XenVMMXenVMM" ] &&
|
||||
diff --git a/virt-what.pod b/virt-what.pod
|
||||
index 5ca63fe..2bce5c8 100644
|
||||
--- a/virt-what.pod
|
||||
+++ b/virt-what.pod
|
||||
@@ -246,6 +246,12 @@ The guest is running on a Red Hat Enterprise Virtualization (RHEV) node.
|
||||
|
||||
Status: confirmed by RWMJ
|
||||
|
||||
+=item B<redhat>
|
||||
+
|
||||
+The guest is running on the Red Hat hypervisor.
|
||||
+
|
||||
+Status: confirmed by RWMJ
|
||||
+
|
||||
=item B<uml>
|
||||
|
||||
This is a User-Mode Linux (UML) guest.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 3d0a9d20c97f9f6d9be5229a94409b57ef429e35 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 22 Jul 2021 08:58:16 +0100
|
||||
Subject: [PATCH 34/36] Display kvm/qemu fact for Nutanix AHV
|
||||
|
||||
Since these are based on KVM we should display those facts too.
|
||||
|
||||
Thanks: Paolo Bonzini
|
||||
(cherry picked from commit c7f55d08c9ab2aaf56ebd0d179491f4e15b5097c)
|
||||
---
|
||||
tests/nutanix-ahv/test.sh | 3 ++-
|
||||
virt-what.in | 3 ---
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tests/nutanix-ahv/test.sh b/tests/nutanix-ahv/test.sh
|
||||
index a998dc0..d5d6af2 100755
|
||||
--- a/tests/nutanix-ahv/test.sh
|
||||
+++ b/tests/nutanix-ahv/test.sh
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
output="$(PATH=../..:$PATH virt-what --test-root=. 2>&1)"
|
||||
expected="nutanix_ahv
|
||||
-redhat"
|
||||
+redhat
|
||||
+kvm"
|
||||
|
||||
if [ "$output" != "$expected" ]; then
|
||||
echo "$0: test failed because output did not match expected"
|
||||
diff --git a/virt-what.in b/virt-what.in
|
||||
index 850760e..d56c84f 100644
|
||||
--- a/virt-what.in
|
||||
+++ b/virt-what.in
|
||||
@@ -232,11 +232,8 @@ if echo "$dmi" | grep -q 'Vendor: Parallels'; then
|
||||
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.
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 9257d0980ae08d7acd8ebdaeae0270f480b7b1af Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 14 Apr 2022 13:50:46 +0100
|
||||
Subject: [PATCH 35/36] Add test file to EXTRA_DIST
|
||||
|
||||
Fixes: commit 7e679278431aa1a188dfe423526dfea82fddcbd3
|
||||
(cherry picked from commit 5c6076110ec42c0f54a0a926f3bc9351520a6780)
|
||||
---
|
||||
tests/alibaba-cloud-x86/Makefile.am | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/alibaba-cloud-x86/Makefile.am b/tests/alibaba-cloud-x86/Makefile.am
|
||||
index c9ea7a1..b748df8 100644
|
||||
--- a/tests/alibaba-cloud-x86/Makefile.am
|
||||
+++ b/tests/alibaba-cloud-x86/Makefile.am
|
||||
@@ -24,4 +24,5 @@ EXTRA_DIST = \
|
||||
proc/cpuinfo \
|
||||
proc/self/status \
|
||||
sbin/dmidecode \
|
||||
+ sbin/uname \
|
||||
sbin/virt-what-cpuid-helper
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 4ffabec1019dff4c8034d2200e2d74b58db5cbd6 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 14 Apr 2022 13:51:13 +0100
|
||||
Subject: [PATCH 36/36] Add test file to EXTRA_DIST
|
||||
|
||||
Fixes: commit 1df728aa4b1d2814265f9c86494f7d55ee0cf9af
|
||||
(cherry picked from commit a6757ae742616d493764780faae00f786b854ffb)
|
||||
---
|
||||
tests/podman/Makefile.am | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/podman/Makefile.am b/tests/podman/Makefile.am
|
||||
index a4c70ad..2962f32 100644
|
||||
--- a/tests/podman/Makefile.am
|
||||
+++ b/tests/podman/Makefile.am
|
||||
@@ -20,6 +20,7 @@ CLEANFILES = *~
|
||||
TESTS = test.sh
|
||||
|
||||
EXTRA_DIST = \
|
||||
+ 1/environ \
|
||||
test.sh \
|
||||
proc/cpuinfo \
|
||||
proc/self/cgroup \
|
||||
--
|
||||
2.31.1
|
||||
|
61
copy-patches.sh
Executable file
61
copy-patches.sh
Executable file
@ -0,0 +1,61 @@
|
||||
#!/bin/bash -
|
||||
|
||||
set -e
|
||||
|
||||
# Maintainer script to copy patches from the git repo to the current
|
||||
# directory. It's normally only used downstream (ie. in RHEL). Use
|
||||
# it like this:
|
||||
# ./copy-patches.sh
|
||||
|
||||
project=virt-what
|
||||
rhel_version=8.7
|
||||
|
||||
# Check we're in the right directory.
|
||||
if [ ! -f $project.spec ]; then
|
||||
echo "$0: run this from the directory containing '$project.spec'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case `id -un` in
|
||||
rjones) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
|
||||
lacos) git_checkout=$HOME/src/v2v/$project ;;
|
||||
*) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
|
||||
esac
|
||||
if [ ! -d $git_checkout ]; then
|
||||
echo "$0: $git_checkout does not exist"
|
||||
echo "This script is only for use by the maintainer when preparing a"
|
||||
echo "$project release on RHEL."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the base version of the project.
|
||||
version=`grep '^Version:' $project.spec | awk '{print $2}'`
|
||||
tag="v$version"
|
||||
|
||||
# Remove any existing patches.
|
||||
git rm -f [0-9]*.patch ||:
|
||||
rm -f [0-9]*.patch
|
||||
|
||||
# Get the patches.
|
||||
(cd $git_checkout; rm -f [0-9]*.patch; git -c core.abbrev=9 format-patch -O/dev/null -N --submodule=diff $tag)
|
||||
mv $git_checkout/[0-9]*.patch .
|
||||
|
||||
# Remove any not to be applied.
|
||||
rm -f *NOT-FOR-RPM*.patch
|
||||
|
||||
# Add the patches.
|
||||
git add [0-9]*.patch
|
||||
|
||||
# Print out the patch lines.
|
||||
echo
|
||||
echo "--- Copy the following text into $project.spec file"
|
||||
echo
|
||||
|
||||
echo "# Patches."
|
||||
for f in [0-9]*.patch; do
|
||||
n=`echo $f | awk -F- '{print $1}'`
|
||||
echo "Patch$n: $f"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "--- End of text"
|
28
gitignore
28
gitignore
@ -1,28 +0,0 @@
|
||||
*~
|
||||
*.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
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (virt-what-1.18.tar.gz) = 8085a38111d5664f411f5bb9d2ee221bc22e5b0f2d993e8d518718b3f63b16ba73e052b1623c090493cf8fef52fd237ba823377503a32b4b7d03cc5380d5c613
|
||||
SHA512 (virt-what-1.25.tar.gz) = 0147b4b44ae0ee685977aa34dfa9bf30ae8e0eb31b7a6d5c0097d16f830fa6fb6afd7156964fc79f3fd5e82b2f68d921fd5306245cc63a2140f6dddc7fdd0e98
|
||||
|
161
virt-what.spec
161
virt-what.spec
@ -1,72 +1,28 @@
|
||||
Name: virt-what
|
||||
Version: 1.18
|
||||
Release: 14%{?dist}
|
||||
Version: 1.25
|
||||
Release: 1%{?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
|
||||
# Maintainer script which helps with handling patches.
|
||||
Source1: copy-patches.sh
|
||||
|
||||
# Patches from upstream since 1.18 was released.
|
||||
# NB: These patches are also stored in this upstream branch:
|
||||
# Patches are maintained in the following repository:
|
||||
# http://git.annexia.org/?p=virt-what.git;a=shortlog;h=refs/heads/rhel-8.7
|
||||
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
|
||||
Patch0004: 0004-Recognize-ppc64le-little-endian-virtualization-RHBZ-.patch
|
||||
Patch0005: 0005-Determine-architecture-via-uname-m.patch
|
||||
Patch0006: 0006-Allow-using-sysctl-for-example-when-proc-isn-t-avail.patch
|
||||
Patch0007: 0007-Replace-with-since-the-former-is-a-bash-ism.patch
|
||||
# AWS support:
|
||||
Patch0008: 0008-aws-Detect-AWS-from-dmidecode-information.patch
|
||||
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
|
||||
# Support for Docker (RHBZ#2000834).
|
||||
Patch0023: 0023-docker-Check-for-.dockerenv-too.patch
|
||||
Patch0024: 0024-docker-Lookup-from-proc-self-cgroup-too.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).
|
||||
Patch0025: 0025-Simplify-and-fix-invocation-of-cpuid.patch
|
||||
# Further patches up to 1.22.
|
||||
Patch0026: 0026-Add-podman-support.patch
|
||||
Patch0027: 0027-aws-Match-multi-digit-version-number-in-BIOS-informa.patch
|
||||
Patch0028: 0028-Add-support-for-Alibaba-Cloud-Linux.patch
|
||||
Patch0029: 0029-Add-test-for-Alibaba-Cloud-Linux.patch
|
||||
Patch0030: 0030-Check-for-Alibaba-Cloud-X-Dragon-Architecture.patch
|
||||
Patch0031: 0031-use-official-product-name-for-alibaba-cloud-bare-met.patch
|
||||
Patch0032: 0032-Add-Google-Cloud-not-tested.patch
|
||||
Patch0033: 0033-Add-detection-of-Red-Hat-s-hypervisor.patch
|
||||
Patch0034: 0034-Display-kvm-qemu-fact-for-Nutanix-AHV.patch
|
||||
Patch0035: 0035-Add-test-file-to-EXTRA_DIST.patch
|
||||
Patch0036: 0036-Add-test-file-to-EXTRA_DIST.patch
|
||||
|
||||
# Patches touch Makefile.am:
|
||||
BuildRequires: autoconf, automake
|
||||
# Patches.
|
||||
#(no patches)
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: git
|
||||
BuildRequires: autoconf, automake, libtool
|
||||
|
||||
# This is provided by the build root, but we make it explicit
|
||||
# anyway in case this was dropped from the build root in future.
|
||||
BuildRequires: gcc
|
||||
BuildRequires: /usr/bin/pod2man
|
||||
|
||||
# Required at build time in order to do 'make check' (for getopt).
|
||||
@ -97,70 +53,63 @@ know about or can't detect.
|
||||
|
||||
Current types of virtualization detected:
|
||||
|
||||
- aws Amazon Web Services
|
||||
- bhyve FreeBSD hypervisor
|
||||
- docker Docker container
|
||||
- hyperv Microsoft Hyper-V
|
||||
- ibm_power-kvm
|
||||
IBM POWER KVM
|
||||
- ibm_power-lpar_shared
|
||||
- alibaba_cloud Alibaba cloud
|
||||
- alibaba_cloud-ebm
|
||||
- aws Amazon Web Services
|
||||
- bhyve FreeBSD hypervisor
|
||||
- docker Docker container
|
||||
- google_cloud Google cloud
|
||||
- hyperv Microsoft Hyper-V
|
||||
- ibm_power-kvm IBM POWER KVM
|
||||
- ibm_power-lpar_shared IBM POWER LPAR (hardware partition)
|
||||
- ibm_power-lpar_dedicated
|
||||
IBM POWER LPAR (hardware partition)
|
||||
- ibm_systemz-*
|
||||
IBM SystemZ Direct / LPAR / z/VM / KVM
|
||||
- ldoms Oracle VM Server for SPARC Logical Domains
|
||||
- linux_vserver
|
||||
Linux VServer container
|
||||
- lxc Linux LXC container
|
||||
- kvm Linux Kernel Virtual Machine (KVM)
|
||||
- lkvm LKVM / kvmtool
|
||||
- openvz OpenVZ or Virtuozzo
|
||||
- ovirt oVirt node
|
||||
- parallels Parallels Virtual Platform
|
||||
- powervm_lx86 IBM PowerVM Lx86 Linux/x86 emulator
|
||||
- qemu QEMU (unaccelerated)
|
||||
- rhev Red Hat Enterprise Virtualization
|
||||
- uml User-Mode Linux (UML)
|
||||
- virtage Hitachi Virtualization Manager (HVM) Virtage LPAR
|
||||
- virtualbox VirtualBox
|
||||
- virtualpc Microsoft VirtualPC
|
||||
- vmm vmm OpenBSD hypervisor
|
||||
- vmware VMware
|
||||
- xen Xen
|
||||
- xen-dom0 Xen dom0 (privileged domain)
|
||||
- xen-domU Xen domU (paravirtualized guest domain)
|
||||
- xen-hvm Xen guest fully virtualized (HVM)
|
||||
- ibm_systemz-* IBM SystemZ Direct / LPAR / z/VM / KVM
|
||||
- illumos-lx Illumos with Linux syscall emulation
|
||||
- ldoms Oracle VM Server for SPARC Logical Domains
|
||||
- linux_vserver Linux VServer container
|
||||
- lxc Linux LXC container
|
||||
- kvm Linux Kernel Virtual Machine (KVM)
|
||||
- lkvm LKVM / kvmtool
|
||||
- nutanix_ahv Nutanix Acropolis Hypervisor (AHV)
|
||||
- openvz OpenVZ or Virtuozzo
|
||||
- ovirt oVirt node
|
||||
- parallels Parallels Virtual Platform
|
||||
- podman Podman container
|
||||
- powervm_lx86 IBM PowerVM Lx86 Linux/x86 emulator
|
||||
- qemu QEMU (unaccelerated)
|
||||
- redhat Red Hat hypervisor
|
||||
- rhev Red Hat Enterprise Virtualization
|
||||
- uml User-Mode Linux (UML)
|
||||
- virtage Hitachi Virtualization Manager (HVM) Virtage LPAR
|
||||
- virtualbox VirtualBox
|
||||
- virtualpc Microsoft VirtualPC
|
||||
- vmm vmm OpenBSD hypervisor
|
||||
- vmware VMware
|
||||
- xen Xen
|
||||
- xen-dom0 Xen dom0 (privileged domain)
|
||||
- xen-domU Xen domU (paravirtualized guest domain)
|
||||
- xen-hvm Xen guest fully virtualized (HVM)
|
||||
|
||||
|
||||
%prep
|
||||
# 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
|
||||
%autosetup -S git
|
||||
|
||||
# Always rebuild upstream autotools files.
|
||||
autoreconf -i
|
||||
|
||||
|
||||
%build
|
||||
# Patches touch Makefile.am:
|
||||
autoreconf -i
|
||||
%configure
|
||||
make
|
||||
|
||||
|
||||
%install
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
%make_install
|
||||
|
||||
|
||||
%check
|
||||
if ! make check ; then
|
||||
cat test-suite.log
|
||||
if ! make -k check ; then
|
||||
find -name test-suite.log -exec cat {} \;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -172,6 +121,10 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Aug 17 2022 Richard W.M. Jones <rjones@redhat.com> - 1.25-1
|
||||
- Rebase to 1.25
|
||||
resolves: rhbz#2118195
|
||||
|
||||
* Tue Apr 19 2022 Richard W.M. Jones <rjones@redhat.com> - 1.18-14
|
||||
- Add guest detection for RHEL hypervisors
|
||||
resolves: rhbz#2076628
|
||||
|
Loading…
Reference in New Issue
Block a user