[email protected] writes:

>> 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?

Yes, please!


Reply via email to