diff options
Diffstat (limited to 'softmmu')
-rw-r--r-- | softmmu/vl.c | 19 |
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; |