QemuOpts: command line switches for the config file.
Adds -readconfig and -writeconfig command line switches to read/write QemuOpts from config file. In theory you should be able to do: qemu < machine config cmd line switches here > -writeconfig vm.cfg qemu -readconfig vm.cfg In practice it will not work. Not all command line switches are converted to QemuOpts, so you'll have to keep the not-yet converted ones on the second line. Also there might be bugs lurking which prevent even the converted ones from working correctly. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
42262ba860
commit
715a664ac4
|
@ -1915,3 +1915,8 @@ DEF("semihosting", 0, QEMU_OPTION_semihosting,
|
||||||
DEF("old-param", 0, QEMU_OPTION_old_param,
|
DEF("old-param", 0, QEMU_OPTION_old_param,
|
||||||
"-old-param old param mode\n")
|
"-old-param old param mode\n")
|
||||||
#endif
|
#endif
|
||||||
|
DEF("readconfig", HAS_ARG, QEMU_OPTION_readconfig,
|
||||||
|
"-readconfig <file>\n")
|
||||||
|
DEF("writeconfig", HAS_ARG, QEMU_OPTION_writeconfig,
|
||||||
|
"-writeconfig <file>\n"
|
||||||
|
" read/write config file")
|
||||||
|
|
30
vl.c
30
vl.c
|
@ -5364,6 +5364,36 @@ int main(int argc, char **argv, char **envp)
|
||||||
xen_mode = XEN_ATTACH;
|
xen_mode = XEN_ATTACH;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case QEMU_OPTION_readconfig:
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
fp = fopen(optarg, "r");
|
||||||
|
if (fp == NULL) {
|
||||||
|
fprintf(stderr, "open %s: %s\n", optarg, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
if (qemu_config_parse(fp) != 0) {
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case QEMU_OPTION_writeconfig:
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
if (strcmp(optarg, "-") == 0) {
|
||||||
|
fp = stdout;
|
||||||
|
} else {
|
||||||
|
fp = fopen(optarg, "w");
|
||||||
|
if (fp == NULL) {
|
||||||
|
fprintf(stderr, "open %s: %s\n", optarg, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qemu_config_write(fp);
|
||||||
|
fclose(fp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue