On Tue, Mar 07, 2023 at 10:40:23 +0100, Markus Armbruster wrote: > [Resent with cc: qemu-devel and adjusted subject, sorry for the noise] > > abologna at redhat.com (Andrea Bolognani) writes: > > > On Mon, Feb 27, 2023 at 06:25:23PM +0100, Peter Krempa wrote: > >> On Mon, Feb 27, 2023 at 08:44:57 -0800, Andrea Bolognani wrote: [...] > > Another example I've found is "smp-opts", which seems to be used to > > implement the -smp option. Once again, in the JSON we find "smp-opts" > > instead of "smp". > > > > I think it would be worthwile to check with the QEMU developers and > > make sure that they're aware of this behavior. Is it intended? Is it > > documented anywhere? It certainly seems extremely confusing to me. > > query-command-line-options has... issues. > > First, it's generally[*] limited to options that use QemuOpts. > > Second, it reports configuration group names, which are often, but not > always the same as the option name. The exceptions you just have to > know. Group name "acpi" vs. option name "acpitable" is one. Ah! so that's where 'acpi' comes from. > > Third, information on option parameters can be incomplete, or missing > entirely. > > Fourth, even when it's there, it's often insufficiently detailed. > > These are design issues. I believe the command cannot be fixed, only > replaced. > > See my talk "QEMU interface introspection: From hacks to > solutions", KVM Forum 2015. > Video at https://www.youtube.com/watch?v=IEa8Ao8_B9o > Slides at http://www.linux-kvm.org/images/7/7a/02x05-Aspen-Markus_Armbruster-QEMU_interface_introspection.pdf > > Questions? In the end I've dropped the patch detecting the presence of the 'acpi' option of -machine as queried via query-command-line-options, as we need to know it per-machine type. That is now reported by qemu in query-machines, so we don't need to add more querying from query-command-line options. In fact I strive to eliminate it after your suggestions, but we can't still detect the few outstanding flags from anywhere else. List of currently outstanding queries using query-command-line-options: { "fsdev", "multidevs", QEMU_CAPS_FSDEV_MULTIDEVS }, { "machine", "hpet", QEMU_CAPS_MACHINE_HPET }, { "sandbox", NULL, QEMU_CAPS_SECCOMP_SANDBOX }, { "spice", NULL, QEMU_CAPS_SPICE }, { "spice", "gl", QEMU_CAPS_SPICE_GL }, { "spice", "rendernode", QEMU_CAPS_SPICE_RENDERNODE }, { "vnc", "power-control", QEMU_CAPS_VNC_POWER_CONTROL },