[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!
