From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47393) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8sgR-0004dN-Q9 for qemu-devel@nongnu.org; Wed, 07 Jan 2015 10:38:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8sgQ-0002Lq-QT for qemu-devel@nongnu.org; Wed, 07 Jan 2015 10:38:07 -0500 Message-ID: <54AD52A7.8010706@gmail.com> Date: Wed, 07 Jan 2015 17:37:11 +0200 From: Marcel Apfelbaum MIME-Version: 1.0 References: <1420632698-27461-1-git-send-email-marcel@redhat.com> <54AD22C3.2040001@redhat.com> In-Reply-To: <54AD22C3.2040001@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3] vl.c: fix regression when reading machine type from config file Reply-To: marcel@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Marcel Apfelbaum , qemu-devel@nongnu.org Cc: armbru@redhat.com, qemu-stable@nongnu.org On 01/07/2015 02:12 PM, Paolo Bonzini wrote: > > > On 07/01/2015 13:11, 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 >> --- >> v2 -> v3: >> - Addressed Paolo Bonzini's comments: >> - fixed whitespace >> 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 | 15 ++++++++------- >> 1 file changed, 8 insertions(+), 7 deletions(-) >> >> diff --git a/vl.c b/vl.c >> index 7786b2f..1a2da2b 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,16 +3417,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"); >> @@ -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(); >> > > Reviewed-by: Paolo Bonzini > Thanks Paolo, Who can add this patch to his tree? Thanks, Marcel