The recently introduced qom-list-properties QMP command raised a question what properties it (and its cousin - device-list-properties) can possibly print - only those defined by DeviceClass::props or dynamically created in TypeInfo::instance_init() so properties created elsewhere won't show up and this behaviour might confuse the user.
For example, PIIX4 does that from piix4_pm_realize() via piix4_pm_add_propeties(): object_property_add_uint8_ptr(OBJECT(s), ACPI_PM_PROP_ACPI_ENABLE_CMD, &acpi_enable_cmd, NULL); This adds a note to the command descriptions about the limitation. Reviewed-by: Markus Armbruster <arm...@redhat.com> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> --- Changes: v3: * adjusted commit log with Markus suggestion * added a-by/r-by --- qapi/misc.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qapi/misc.json b/qapi/misc.json index 99bcaac..bbf9ef8 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -1529,6 +1529,10 @@ # # Returns: a list of ObjectPropertyInfo describing a devices properties # +# Note: objects can create properties at runtime, for example to describe +# links between different devices and/or objects. These properties +# are not included in the output of this command. +# # Since: 1.2 ## { 'command': 'device-list-properties', @@ -1542,6 +1546,10 @@ # # @typename: the type name of an object # +# Note: objects can create properties at runtime, for example to describe +# links between different devices and/or objects. These properties +# are not included in the output of this command. +# # Returns: a list of ObjectPropertyInfo describing object properties # # Since: 2.12 -- 2.11.0