QEMU ties device properties to QAPI schema for real introspection
A large series from Marc-André Lureau replaces free-form property type strings with formal QAPI type links so management tools can interpret object properties without guesswork.
QEMU is moving device and object properties onto the same type system used by QMP, ending years of free-form type strings that left management tools guessing how to read property values.
Marc-André Lureau posted a 62-patch series on the QEMU development list that associates QOM and qdev properties with QAPI schema types. Today each property carries an informal label such as "bool", "uint32", or "OnOffAuto". Those strings have no formal link to the schema returned by query-qmp-schema, so external tools build ad-hoc mappings or lean on naming conventions to decide how to parse values.
The work introduces generated type-info metadata for every schema-defined type, wires that metadata into property registration, and exposes a qapi-type cross-reference on property listing and value QMP results. Clients can then look up the exact schema entry instead of reverse-engineering string labels. Generic array property handling is replaced with typed per-element definitions, and the old string-based type and enum-table fields are removed once conversion is complete.
Along the way the series tightens several long-standing mismatches, including a more accurate treatment of PCI device-function properties and a proper structured type for RTC time values. Integer builtins stop collapsing to a single "int" in schema introspection: signedness and bit width are preserved so tools can tell int8 from uint64 from size, including inside arrays.
For libvirt, cloud orchestrators, and other QMP clients, the practical gain is reliable discovery of what each configurable property actually is, without maintaining a private type dictionary that drifts whenever QEMU adds hardware models.