aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2020-07-10 10:50:20 +0200
committerThomas Huth <thuth@redhat.com>2020-10-13 12:48:12 +0200
commiteaf65114f0585a914642c1ce1379bb8339984858 (patch)
tree5ce2ae4a5f32021e0485232c0ed9890087c8737f
parenta4339de2de4def4beb33e22e6f506bcc8b9d9326 (diff)
downloadqemu-eaf65114f0585a914642c1ce1379bb8339984858.zip
qemu-eaf65114f0585a914642c1ce1379bb8339984858.tar.gz
qemu-eaf65114f0585a914642c1ce1379bb8339984858.tar.bz2
softmmu/vl: Be less verbose about missing KVM when running the qtests
Some of the qtests use "-accel kvm -accel tcg" to run real guest code. This causes some error messages when kvm is not available. We do not really care about these messages since the fallback to tcg is expected here. So let's silence them to avoid that they spoil the output of the tests. Unfortunately, we can not use the qtest_enabled() wrapper in this case, since the qtest accelerator itself is not initialized. Thus we have to test for the qtest_chrdev variable instead. Message-Id: <20200710085020.28222-1-thuth@redhat.com> Reviewed-by: Alexander Bulekov <alxndr@bu.edu> Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r--softmmu/vl.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 5a11a62..254ee5e 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -165,8 +165,9 @@ bool boot_strict;
uint8_t *boot_splash_filedata;
int only_migratable; /* turn it off unless user states otherwise */
bool wakeup_suspend_enabled;
-
int icount_align_option;
+static const char *qtest_chrdev;
+static const char *qtest_log;
/* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
* little-endian "wire format" described in the SMBIOS 2.6 specification.
@@ -2713,10 +2714,15 @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
AccelClass *ac = accel_find(acc);
AccelState *accel;
int ret;
+ bool qtest_with_kvm;
+
+ qtest_with_kvm = g_str_equal(acc, "kvm") && qtest_chrdev != NULL;
if (!ac) {
*p_init_failed = true;
- error_report("invalid accelerator %s", acc);
+ if (!qtest_with_kvm) {
+ error_report("invalid accelerator %s", acc);
+ }
return 0;
}
accel = ACCEL(object_new_with_class(OBJECT_CLASS(ac)));
@@ -2728,8 +2734,9 @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
ret = accel_init_machine(accel, current_machine);
if (ret < 0) {
*p_init_failed = true;
- error_report("failed to initialize %s: %s",
- acc, strerror(-ret));
+ if (!qtest_with_kvm || ret != -ENOENT) {
+ error_report("failed to initialize %s: %s", acc, strerror(-ret));
+ }
return 0;
}
@@ -2800,7 +2807,7 @@ static void configure_accelerators(const char *progname)
exit(1);
}
- if (init_failed) {
+ if (init_failed && !qtest_chrdev) {
AccelClass *ac = ACCEL_GET_CLASS(current_accel());
error_report("falling back to %s", ac->name);
}
@@ -2870,8 +2877,6 @@ void qemu_init(int argc, char **argv, char **envp)
MachineClass *machine_class;
const char *cpu_option;
const char *vga_model = NULL;
- const char *qtest_chrdev = NULL;
- const char *qtest_log = NULL;
const char *incoming = NULL;
bool userconfig = true;
bool nographic = false;