summaryrefslogtreecommitdiffstats
path: root/hw/core/vmstate-if.c
diff options
context:
space:
mode:
authorPaolo Bonzini2021-05-13 17:28:34 +0200
committerPaolo Bonzini2021-07-06 08:33:51 +0200
commitd8fb7d0969d5c32b3d1b9e20b63ec6c0abe80be4 (patch)
tree0dee205733dba96666e186b3b9d4e14231146155 /hw/core/vmstate-if.c
parentkeyval: introduce keyval_parse_into (diff)
downloadqemu-d8fb7d0969d5c32b3d1b9e20b63ec6c0abe80be4.tar.gz
qemu-d8fb7d0969d5c32b3d1b9e20b63ec6c0abe80be4.tar.xz
qemu-d8fb7d0969d5c32b3d1b9e20b63ec6c0abe80be4.zip
vl: switch -M parsing to keyval
Switch from QemuOpts to keyval. This enables the introduction of non-scalar machine properties, and JSON syntax in the future. For JSON syntax to be supported right now, we would have to consider what would happen if string-based dictionaries (produced by -M key=val) were to be merged with strongly-typed dictionaries (produced by -M {'key': 123}). The simplest way out is to never enter the situation, and only allow one -M option when JSON syntax is in use. However, we want options such as -smp to become syntactic sugar for -M, and this is a problem; as soon as -smp becomes a shortcut for -M, QEMU would forbid using -M '{....}' together with -smp. Therefore, allowing JSON syntax right now for -M would be a forward-compatibility nightmare and it would be impossible anyway to introduce -M incrementally in tools. Instead, support for JSON syntax is delayed until after the main options are converted to QOM compound properties. These include -boot, -acpitable, -smbios, -m, -semihosting-config, -rtc and -fw_cfg. Once JSON syntax is introduced, these options will _also_ be forbidden together with -M '{...}'. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/core/vmstate-if.c')
0 files changed, 0 insertions, 0 deletions