From: Miroslav Rezanina <mreza...@redhat.com> Output error message using qemu's error_report() function when user provides the invalid machine type on the command line. This also saves time to find what issue is when you downgrade from one version of qemu to another that doesn't support required machine type yet (the version user downgraded to have to have this patch applied too, of course).
Signed-off-by: Miroslav Rezanina <mreza...@redhat.com> --- v7: - use -machine instead of -M in error help message - rebase to commit 0056ae2 v6: - print help instead of list supported machines on error --- vl.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/vl.c b/vl.c index 862cf20..cbd1381 100644 --- a/vl.c +++ b/vl.c @@ -2649,15 +2649,20 @@ static MachineClass *machine_parse(const char *name) if (mc) { return mc; } - printf("Supported machines are:\n"); - for (el = machines; el; el = el->next) { - MachineClass *mc = el->data; - QEMUMachine *m = mc->qemu_machine; - if (m->alias) { - printf("%-20s %s (alias of %s)\n", m->alias, m->desc, m->name); + if (name && !is_help_option(name)) { + error_report("Unsupported machine type"); + printf("\nUse -machine help to list supported machines!\n"); + } else { + printf("Supported machines are:\n"); + for (el = machines; el; el = el->next) { + MachineClass *mc = el->data; + QEMUMachine *m = mc->qemu_machine; + if (m->alias) { + printf("%-20s %s (alias of %s)\n", m->alias, m->desc, m->name); + } + printf("%-20s %s%s\n", m->name, m->desc, + m->is_default ? " (default)" : ""); } - printf("%-20s %s%s\n", m->name, m->desc, - m->is_default ? " (default)" : ""); } g_slist_free(machines); -- 1.8.5.3