From patchwork Fri Mar 14 12:06:54 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miroslav Rezanina X-Patchwork-Id: 330287 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 9A3642C00CD for ; Fri, 14 Mar 2014 23:07:54 +1100 (EST) Received: from localhost ([::1]:44300 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOQu0-0006cm-6h for incoming@patchwork.ozlabs.org; Fri, 14 Mar 2014 08:07:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47787) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOQtb-0006cf-FR for qemu-devel@nongnu.org; Fri, 14 Mar 2014 08:07:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOQtU-0000xF-U1 for qemu-devel@nongnu.org; Fri, 14 Mar 2014 08:07:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9007) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOQtU-0000ww-Ll for qemu-devel@nongnu.org; Fri, 14 Mar 2014 08:07:20 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2EC7IfM027625 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 14 Mar 2014 08:07:18 -0400 Received: from lws-ntb.brq.redhat.com (ovpn-116-27.ams2.redhat.com [10.36.116.27]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s2EC7GD8020849; Fri, 14 Mar 2014 08:07:16 -0400 From: mrezanin@redhat.com To: qemu-devel@nongnu.org Date: Fri, 14 Mar 2014 13:06:54 +0100 Message-Id: <1394798814-21279-1-git-send-email-mrezanin@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: peter.maydell@linaro.org, Miroslav Rezanina , armbru@redhat.com, afaerber@suse.de Subject: [Qemu-devel] [PATCH v7] vl.c: Output error on invalid machine type X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Miroslav Rezanina 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 Reviewed-by: Eric Blake --- 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);