parent
ba49f522f4
commit
77af87d624
|
@ -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
|
||||