diff --git a/vl.c b/vl.c index 0f620be8b1..c350eef046 100644 --- a/vl.c +++ b/vl.c @@ -2723,6 +2723,8 @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp) int ret; if (!ac) { + *p_init_failed = true; + error_report("invalid accelerator %s", acc); return 0; } ret = accel_init_machine(ac, current_machine); @@ -2777,6 +2779,9 @@ static void configure_accelerators(const char *progname) */ if (accel_find(*tmp)) { qemu_opts_parse_noisily(qemu_find_opts("accel"), *tmp, true); + } else { + init_failed = true; + error_report("invalid accelerator %s", *tmp); } } } else { @@ -2796,7 +2801,7 @@ static void configure_accelerators(const char *progname) if (init_failed) { AccelClass *ac = ACCEL_GET_CLASS(current_machine->accelerator); - error_report("Back to %s accelerator", ac->name); + error_report("falling back to %s", ac->name); } if (use_icount && !(tcg_enabled() || qtest_enabled())) {