[PATCH] Add -m/--machine option. Pick the default machine type depending on arch.
Richard W.M. Jones
rjones at redhat.com
Thu Sep 10 12:40:09 UTC 2020
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1875763
---
qemu-sanity-check.in | 20 +++++++++++++++++---
qemu-sanity-check.pod.in | 8 ++++++++
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/qemu-sanity-check.in b/qemu-sanity-check.in
index 5536eda..e1abafd 100644
--- a/qemu-sanity-check.in
+++ b/qemu-sanity-check.in
@@ -1,7 +1,7 @@
#!/bin/bash
# -*- shell-script -*-
# qemu-sanity-check
-# Copyright (C) 2013 Red Hat Inc.
+# Copyright (C) 2013-2020 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
@@ -27,6 +27,14 @@ canonical_arch="$(uname -m | sed 's/i[456]86/i386/')"
timeout=10m
accel=kvm:tcg
+# Default machine type depends on arch. You can override this using
+# -m|--machine option.
+case "$canonical_arch" in
+ arm*|aarch*) machine=virt ;;
+ # On non-ARM let qemu pick the default.
+ *) machine= ;;
+esac
+
# Handle command line parsing.
function usage {
@@ -36,6 +44,7 @@ function usage {
echo " --accel=[kvm|tcg] Force KVM or software emulation"
echo " -i|--initrd=initrd Set location of initramfs"
echo " -k|--kernel=vmlinuz Set location of kernel"
+ echo " -m|--machine=machine Set machine type"
echo " -q|--qemu=qemu Set location of qemu/KVM binary"
echo " -t|--timeout=timeout Set the timeout"
echo " -V|--version Display version and exit"
@@ -43,11 +52,12 @@ function usage {
}
TEMP=$(getopt \
- -o i:k:q:t:V \
+ -o i:k:m:q:t:V \
--long help \
--long accel: \
--long initrd: \
--long kernel: \
+ --long machine: \
--long qemu: \
--long timeout: \
--long version \
@@ -72,6 +82,10 @@ while true; do
kernel="$2"
shift 2
;;
+ -m|--machine)
+ machine="$2"
+ shift 2
+ ;;
-q|--qemu)
qemu="$2"
shift 2
@@ -145,7 +159,7 @@ argv[$((i++))]="none"
argv[$((i++))]="-no-user-config"
argv[$((i++))]="-nodefaults"
argv[$((i++))]="-machine"
-argv[$((i++))]="accel=$accel"
+argv[$((i++))]="$machine${machine:+,}accel=$accel"
argv[$((i++))]="-no-reboot"
argv[$((i++))]="-serial"
argv[$((i++))]="file:$test_output"
diff --git a/qemu-sanity-check.pod.in b/qemu-sanity-check.pod.in
index 47d6d43..b4d2801 100644
--- a/qemu-sanity-check.pod.in
+++ b/qemu-sanity-check.pod.in
@@ -91,6 +91,14 @@ Use the initramfs image named C<INITRD> instead of the default.
Use the kernel image C<VMLINUZ> instead of searching for the latest
kernel installed in C</boot>.
+=item B<-m> MACHINE
+
+=item B<--machine>=MACHINE
+
+Set the qemu I<-m> (machine type) option. If not set then a suitable
+default is picked depending on the architecture. You can also use
+I<--machine=> to let qemu pick the default.
+
=item B<-q> QEMU
=item B<--qemu>=QEMU
--
2.28.0.rc2
More information about the virt-tools-list
mailing list