qemu/softmmu
Paolo Bonzini d8fb7d0969 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>
2021-07-06 08:33:51 +02:00
..
arch_init.c Drop the deprecated unicore32 target 2021-05-12 18:20:52 +02:00
balloon.c qapi: Restrict balloon-related commands to machine code 2020-09-29 15:41:35 +02:00
bootdevice.c softmmu: move more files to softmmu/ 2020-10-12 11:50:21 -04:00
cpu-throttle.c cpu-throttle: Remove timer_mod() from cpu_throttle_set() 2021-02-08 15:15:32 +01:00
cpu-timers.c icount: get rid of static variable 2021-04-01 09:40:45 +02:00
cpus.c softmmu: add trace point when bdrv_flush_all fails 2021-06-14 13:28:50 +01:00
datadir.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
device_tree.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
dma-helpers.c dma: Introduce dma_aligned_pow2_mask() 2021-03-12 12:40:10 +00:00
globals.c qmp: generalize watchdog-set-action to -no-reboot/-no-shutdown 2020-12-15 12:51:57 -05:00
icount.c icount: get rid of static variable 2021-04-01 09:40:45 +02:00
ioport.c softmmu: Add missing trace-events file 2020-09-09 17:15:18 +01:00
main.c meson: move SDL and SDL-image detection to meson 2020-08-21 06:30:44 -04:00
memory_mapping.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
memory.c softmmu/memory: Pass ram_flags to qemu_ram_alloc() and qemu_ram_alloc_internal() 2021-06-15 20:27:38 +02:00
meson.build seccomp: convert to meson 2021-01-06 10:21:20 +01:00
physmem.c util/mmap-alloc: Support RAM_NORESERVE via MAP_NORESERVE under Linux 2021-06-15 20:27:38 +02:00
qdev-monitor.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
qemu-seccomp.c seccomp: Replace the word 'blacklist' 2021-03-09 22:15:19 +01:00
qtest.c qtest: add a QOM object for qtest 2021-05-26 14:49:45 +02:00
rtc.c qom: Allow optional sugar props 2021-02-08 16:57:37 +11:00
runstate-action.c runstate: cleanup reboot and panic actions 2021-01-21 13:00:41 +01:00
runstate.c runstate: Initialize Error * to NULL 2021-06-15 17:17:09 +02:00
timers-state.h icount: get rid of static variable 2021-04-01 09:40:45 +02:00
tpm.c qapi: More complex uses of QAPI_LIST_APPEND 2021-01-28 08:08:45 +01:00
trace-events softmmu: add trace point when bdrv_flush_all fails 2021-06-14 13:28:50 +01:00
trace.h softmmu: Add missing trace-events file 2020-09-09 17:15:18 +01:00
vl.c vl: switch -M parsing to keyval 2021-07-06 08:33:51 +02:00