> I rewrote some QAPI infrastructure parts of Marc-André's v5.  Me
> sending the result is easier, because it's already in my tree.
> Marc-André's cover letter follows.
> 
> This series connects QOM and qdev properties to the QAPI type system, so
> that management tools can discover the QAPI schema type of each object
> property.
> 
> Today, QOM properties carry a free-form "type" string ("bool", "uint32",
> "OnOffAuto", ..) that has no formal link to the QAPI schema exposed by
> query-qmp-schema. Management tools must maintain ad-hoc mappings or rely
> on naming conventions to figure out how to interpret property values.
> 
> This series adds:
>   - A new QAPITypeInfo struct that pairs a property with its QAPI schema
>     type name, enum lookup table, and list-element type.
> 
>   - A QAPI code generator (qapi-type-infos) that emits a QAPITypeInfo
>     instance for every schema-defined type, including the mapping
>     between internal C names and the schema name visible to clients.
> 
>   - A "qapi-type" field in the ObjectPropertyInfo and
>     ObjectPropertyValue QMP structs, populated from the QAPITypeInfo
>     when present giving clients a cross-reference into query-qmp-schema
>     output.
> 
>   - Conversion of all PropertyInfo definitions from the old
>     .type/.enum_table strings to the new .qapi_type pointer.
> 
>   - Replacement of the generic qdev_prop_array with typed per-element
>     array PropertyInfos, removing the arrayinfo/arrayfieldsize
>     indirection from struct Property.
> 
>   - Removal of the deprecated PropertyInfo.type and .enum_table fields,
>     and of the old object_property_add_enum/add_tm APIs.
> 
> Along the way, a few pre-existing type mismatches in property
> definitions are fixed, the "struct tm" RTC property is replaced with a
> proper QAPI StructTm type etc. Introducing more specific types or a
> "typedef" to QAPI could help provide better associated type informations
> than plain "str" in many cases, for example.
> 
> Changes in v6:
> - Rebase, resolve a few conflicts
> - Replace old PATCH 03-04 by new PATCH 01-06, adjust PATCH 09 [old
>   PATCH 05]
> - Fix temporary build breakage: convert PCSouthBridgeOption only when
>   it gets QAPIfied [PATCH 62], delay removal of old interface until
>   after that [PATCH 63].
> - Clean up checkpatch long line warnings, except leave the ones in
>   PATCH 38 for later

Thanks a lot for the v6. I have added minor comments to some of my own patches.
Would you like me to send a v7?

-- 
Marc-André Lureau <[email protected]>


Reply via email to