qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 36/40] vl: switch -M parsing to keyval


From: Volker Rümelin
Subject: Re: [PULL 36/40] vl: switch -M parsing to keyval
Date: Mon, 12 Jul 2021 21:24:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

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>
---
  softmmu/vl.c | 315 ++++++++++++++++++++++++---------------------------
  1 file changed, 146 insertions(+), 169 deletions(-)



Since this commit QEMU fails to start on my system.

./qemu-system-i386 -machine pc,pcspk-audiodev=audio0 -audiodev pa,id=audio0
qemu-system-i386: Parameter 'audiodev' is missing

With best regards,
Volker



reply via email to

[Prev in Thread] Current Thread [Next in Thread]