Skip to content

Commit

Permalink
vl.c: fix regression when reading machine type from config file
Browse files Browse the repository at this point in the history
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 <william@gandi.net>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 364c3e6)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
  • Loading branch information
marcel-apf authored and mdroth committed Feb 22, 2015
1 parent cb3360d commit e1ce0c3
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions vl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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");
Expand Down Expand Up @@ -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();
Expand Down

0 comments on commit e1ce0c3

Please sign in to comment.