import virt-what-1.25-1.el8
This commit is contained in:
parent
ca3bf410f6
commit
ec868c26c8
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/virt-what-1.18.tar.gz
|
||||
SOURCES/virt-what-1.25.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
cf60480c17be5350835a0b23dc82012ec711eea1 SOURCES/virt-what-1.18.tar.gz
|
||||
dcbec6a76eddadd63b5139e296e28f600201c37f SOURCES/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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
@ -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/25] 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.18.4
|
||||
|
61
SOURCES/copy-patches.sh
Executable file
61
SOURCES/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"
|
@ -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
|
@ -1,61 +1,28 @@
|
||||
Name: virt-what
|
||||
Version: 1.18
|
||||
Release: 13%{?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:
|
||||
# http://git.annexia.org/?p=virt-what.git;a=shortlog;h=refs/heads/rhel-8.6
|
||||
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
|
||||
# Patches are maintained in the following repository:
|
||||
# http://git.annexia.org/?p=virt-what.git;a=shortlog;h=refs/heads/rhel-8.7
|
||||
|
||||
# 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
|
||||
# Patches.
|
||||
#(no patches)
|
||||
|
||||
# Patches touch Makefile.am:
|
||||
BuildRequires: autoconf, automake
|
||||
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).
|
||||
@ -86,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
|
||||
|
||||
@ -161,6 +121,15 @@ 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
|
||||
- Update patches to 1.22
|
||||
|
||||
* Mon Sep 06 2021 Richard W.M. Jones <rjones@redhat.com> - 1.18-13
|
||||
- Support for Docker
|
||||
resolves: rhbz#2000834
|
||||
|
Loading…
Reference in New Issue
Block a user