On 04/04/2012 01:37 PM, Michael Roth wrote:
On Apr 4, 2012 2:42 AM, "Paolo Bonzini" <pbonzini@xxxxxxxxxx <mailto:pbonzini@xxxxxxxxxx>> wrote: > > Il 04/04/2012 03:18, Michael Roth ha scritto: > > Attacking the IDL/schema side first is the more rationale approach. From > > there we can potentially generate ASN.1 BER/DER visitors for the protocol > > side, or potentially even just vmstate bindings as a start. I've recently > > started looking into the latter... it's completely feasible, the only > > downside is it complicates the IDL due requiring support for a lot of > > what are very much vmstate-specific items, but it should be possible to > > do this in a manner where those annotations are self-contained and > > ignorable if we opted to replace vmstate-style declarations. > > We can also keep the current vmstate descriptions, but access fields > from the automatically-generated visitors instead of struct fields. > This keeps the IDL simple. It may be worthwhile as an incremental step though, one nice thing about automatically generated bindings is that with the QIDL Anthony prototyped a while back we assume we serialize by default, so changes in annotated structs automatically trigger changes in the generated bindings unless you explicitly mark fields as immutable/derivable/etc, which we can tie into the build or make check to automatically detect and bring attention to changes in vmstate. This may be worth the effort if we adopt the proposed 4 year migration support cycle for pc-1.0, since that'll continue to rely on vmstate even after we move on to an IDL and newer protocol.
Beyond ASL/IDL I like to be sure that we're not just translating one format to other representation but instead we introduce some new functionality like:
- Ability to negotiate the protocol version - Bi-direction data exchange, the sender will send data as a function of the target release - Include the machine type too - Synchronize the entire qemu cmdline and don't relay on management to set it up. - Along the way, deal w/ hotplug events.
> > Paolo >
-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html