Use current machine properties instead of querying machine's opts. Signed-off-by: Marcel Apfelbaum <mar...@redhat.com> ---
v1 -> v2: - Use the current machine also for dtb - Remove the machine_opts from main completely vl.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/vl.c b/vl.c index d4a8661..c8bc4bf 100644 --- a/vl.c +++ b/vl.c @@ -2991,7 +2991,7 @@ int main(int argc, char **argv, char **envp) const char *boot_once = NULL; DisplayState *ds; int cyls, heads, secs, translation; - QemuOpts *hda_opts = NULL, *opts, *machine_opts, *icount_opts = NULL; + QemuOpts *hda_opts = NULL, *opts, *icount_opts = NULL; QemuOptsList *olist; int optind; const char *optarg; @@ -4339,9 +4339,8 @@ int main(int argc, char **argv, char **envp) exit(0); } - machine_opts = qemu_get_machine_opts(); - if (qemu_opt_foreach(machine_opts, machine_set_property, current_machine, - NULL)) { + if (qemu_opt_foreach(qemu_get_machine_opts(), machine_set_property, + current_machine, NULL)) { object_unref(OBJECT(current_machine)); exit(1); } @@ -4352,11 +4351,10 @@ int main(int argc, char **argv, char **envp) qtest_init(qtest_chrdev, qtest_log, &error_fatal); } - machine_opts = qemu_get_machine_opts(); - kernel_filename = qemu_opt_get(machine_opts, "kernel"); - initrd_filename = qemu_opt_get(machine_opts, "initrd"); - kernel_cmdline = qemu_opt_get(machine_opts, "append"); - bios_name = qemu_opt_get(machine_opts, "firmware"); + kernel_filename = current_machine->kernel_filename; + initrd_filename = current_machine->initrd_filename; + kernel_cmdline = current_machine->kernel_cmdline; + bios_name = current_machine->firmware; opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL); if (opts) { @@ -4395,7 +4393,7 @@ int main(int argc, char **argv, char **envp) exit(1); } - if (!linux_boot && qemu_opt_get(machine_opts, "dtb")) { + if (!linux_boot && current_machine->dtb) { error_report("-dtb only allowed with -kernel option"); exit(1); } -- 2.4.3