From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48146) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQNOV-00041t-QL for qemu-devel@nongnu.org; Tue, 24 Feb 2015 16:51:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YQNOQ-0006hn-Ma for qemu-devel@nongnu.org; Tue, 24 Feb 2015 16:51:55 -0500 Received: from e9.ny.us.ibm.com ([32.97.182.139]:60172) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQNOQ-0006he-IH for qemu-devel@nongnu.org; Tue, 24 Feb 2015 16:51:50 -0500 Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 24 Feb 2015 16:51:50 -0500 From: Michael Roth Date: Tue, 24 Feb 2015 15:48:00 -0600 Message-Id: <1424814498-6993-26-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1424814498-6993-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1424814498-6993-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 25/43] vl.c: fix regression when reading machine type from config file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Paolo Bonzini , qemu-stable@nongnu.org From: Marcel Apfelbaum After 'Machine as QOM' series the machine type input triggers the creation of the machine class. If the machine type is set in the configuration file, the machine class is not updated accordingly and remains the default. Fixed that by querying the machine options after the configuration file is loaded. Cc: qemu-stable@nongnu.org Reported-by: William Dauchy Signed-off-by: Marcel Apfelbaum Signed-off-by: Paolo Bonzini (cherry picked from commit 364c3e6b8dd7912e01d19122d791b8c8f6df4f6c) Signed-off-by: Michael Roth --- vl.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/vl.c b/vl.c index eb89d62..91411c1 100644 --- a/vl.c +++ b/vl.c @@ -2886,9 +2886,6 @@ int main(int argc, char **argv, char **envp) exit(1); } switch(popt->index) { - case QEMU_OPTION_M: - machine_class = machine_parse(optarg); - break; case QEMU_OPTION_no_kvm_irqchip: { olist = qemu_find_opts("machine"); qemu_opts_parse(olist, "kernel_irqchip=off", 0); @@ -3506,16 +3503,13 @@ int main(int argc, char **argv, char **envp) olist = qemu_find_opts("machine"); qemu_opts_parse(olist, "accel=kvm", 0); break; + case QEMU_OPTION_M: case QEMU_OPTION_machine: olist = qemu_find_opts("machine"); opts = qemu_opts_parse(olist, optarg, 1); if (!opts) { exit(1); } - optarg = qemu_opt_get(opts, "type"); - if (optarg) { - machine_class = machine_parse(optarg); - } break; case QEMU_OPTION_no_kvm: olist = qemu_find_opts("machine"); @@ -3807,6 +3801,13 @@ int main(int argc, char **argv, char **envp) } } } + + opts = qemu_get_machine_opts(); + optarg = qemu_opt_get(opts, "type"); + if (optarg) { + machine_class = machine_parse(optarg); + } + loc_set_none(); os_daemonize(); -- 1.9.1