From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8rPS-0007HJ-81 for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:16:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8rPN-00026h-BI for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:16:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38521) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8rPN-00025w-4k for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:16:25 -0500 Message-ID: <54AD22A2.7020302@redhat.com> Date: Wed, 07 Jan 2015 14:12:18 +0200 From: Marcel Apfelbaum MIME-Version: 1.0 References: <1420630468-25031-1-git-send-email-marcel@redhat.com> <54AD1A0E.80306@redhat.com> In-Reply-To: <54AD1A0E.80306@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] vl.c: fix regression when reading machine type from config file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: armbru@redhat.com On 01/07/2015 01:35 PM, Paolo Bonzini wrote: > > > On 07/01/2015 12:34, Marcel Apfelbaum wrote: >> 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 >> --- >> v1 -> v2: >> - Addressed Paolo Bonzini's comments: >> - moved the call to machine_parse after the switch >> and brought QEMU_OPTION_M near QEMU_OPTION_machine >> >> vl.c | 17 +++++++++-------- >> 1 file changed, 9 insertions(+), 8 deletions(-) >> >> diff --git a/vl.c b/vl.c >> index 7786b2f..da69dba 100644 >> --- a/vl.c >> +++ b/vl.c >> @@ -2796,9 +2796,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); >> @@ -3420,17 +3417,14 @@ 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; >> + break; > > Unnecessary whitespace change? :( Ooops! Sent v3, thanks for catching it! Marcel > >> case QEMU_OPTION_no_kvm: >> olist = qemu_find_opts("machine"); >> qemu_opts_parse(olist, "accel=tcg", 0); >> @@ -3752,6 +3746,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(); >> > > Looks good apart from that. > > Paolo >