mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
Make kernel, initrd and append be machine_opts
Make kernel, initrd, append be machine opts (ie -machine kernel=foo) with the old plain command line arguments as legacy/convenience equivalents. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
78207d80a3
commit
a0abe474d5
2 changed files with 28 additions and 8 deletions
|
@ -566,6 +566,18 @@ static QemuOptsList qemu_machine_opts = {
|
|||
.name = "kvm_shadow_mem",
|
||||
.type = QEMU_OPT_SIZE,
|
||||
.help = "KVM shadow MMU size",
|
||||
}, {
|
||||
.name = "kernel",
|
||||
.type = QEMU_OPT_STRING,
|
||||
.help = "Linux kernel image file",
|
||||
}, {
|
||||
.name = "initrd",
|
||||
.type = QEMU_OPT_STRING,
|
||||
.help = "Linux initial ramdisk file",
|
||||
}, {
|
||||
.name = "append",
|
||||
.type = QEMU_OPT_STRING,
|
||||
.help = "Linux kernel command line",
|
||||
},
|
||||
{ /* End of list */ }
|
||||
},
|
||||
|
|
24
vl.c
24
vl.c
|
@ -2238,11 +2238,8 @@ int main(int argc, char **argv, char **envp)
|
|||
module_call_init(MODULE_INIT_MACHINE);
|
||||
machine = find_default_machine();
|
||||
cpu_model = NULL;
|
||||
initrd_filename = NULL;
|
||||
ram_size = 0;
|
||||
snapshot = 0;
|
||||
kernel_filename = NULL;
|
||||
kernel_cmdline = "";
|
||||
cyls = heads = secs = 0;
|
||||
translation = BIOS_ATA_TRANSLATION_AUTO;
|
||||
|
||||
|
@ -2318,9 +2315,6 @@ int main(int argc, char **argv, char **envp)
|
|||
cpu_model = optarg;
|
||||
}
|
||||
break;
|
||||
case QEMU_OPTION_initrd:
|
||||
initrd_filename = optarg;
|
||||
break;
|
||||
case QEMU_OPTION_hda:
|
||||
{
|
||||
char buf[256];
|
||||
|
@ -2451,10 +2445,13 @@ int main(int argc, char **argv, char **envp)
|
|||
}
|
||||
break;
|
||||
case QEMU_OPTION_kernel:
|
||||
kernel_filename = optarg;
|
||||
qemu_opts_set(qemu_find_opts("machine"), 0, "kernel", optarg);
|
||||
break;
|
||||
case QEMU_OPTION_initrd:
|
||||
qemu_opts_set(qemu_find_opts("machine"), 0, "initrd", optarg);
|
||||
break;
|
||||
case QEMU_OPTION_append:
|
||||
kernel_cmdline = optarg;
|
||||
qemu_opts_set(qemu_find_opts("machine"), 0, "append", optarg);
|
||||
break;
|
||||
case QEMU_OPTION_cdrom:
|
||||
drive_add(IF_DEFAULT, 2, optarg, CDROM_OPTS);
|
||||
|
@ -3249,6 +3246,17 @@ int main(int argc, char **argv, char **envp)
|
|||
fprintf(stderr, "qemu_init_main_loop failed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
kernel_filename = qemu_opt_get(qemu_opts_find(qemu_find_opts("machine"),
|
||||
0), "kernel");
|
||||
initrd_filename = qemu_opt_get(qemu_opts_find(qemu_find_opts("machine"),
|
||||
0), "initrd");
|
||||
kernel_cmdline = qemu_opt_get(qemu_opts_find(qemu_find_opts("machine"),
|
||||
0), "append");
|
||||
if (!kernel_cmdline) {
|
||||
kernel_cmdline = "";
|
||||
}
|
||||
|
||||
linux_boot = (kernel_filename != NULL);
|
||||
|
||||
if (!linux_boot && *kernel_cmdline != '\0') {
|
||||
|
|
Loading…
Reference in a new issue