On Wed, Mar 02, 2016 at 02:59:57PM +0100, Markus Armbruster wrote:
> Peter Xu <[email protected]> writes:
> > What's "query-schema"? Is that a QMP command?
>
> Yes.
>
> More than you ever wanted to know:
> http://events.linuxfoundation.org/sites/events/files/slides/armbru-qemu-introspection.pdf
> https://www.youtube.com/watch?v=IEa8Ao8_B9o&list=PLW3ep1uCIRfyLNSu708gWG7uvqlolk0ep&index=28
Thanks for the pointers and cool slides! It's a good thing to pick
up. :-)
It'll be cool we treat data as codes, and codes as data.
I see that qapi-introspect branch is not there now. Is it merged to
some other branch already? When will it be there in QEMU master
(still not in, right?)? Just curious about it.
>
> > What I meant is that, we can define the following (for example):
> >
> > { 'struct': 'GICCapInfo',
> > 'data': [
> > 'version': 'int',
> > 'emulated': 'bool',
> > 'kernel': 'bool'] }
> >
> > And:
> >
> > { 'command': 'query-gic-capability',
> > 'returns': ['GICCapInfo'] }
> >
> > So we can keep this schema as it is when new versions arrive. We
> > can just push another element in.
>
> To answer questions of the sort "can this QEMU version do X?", it's
> often useful to tie X to a schema change that is visible in the result
> of query-schema.
Now I can understand. For this case, I guess both ways work, right?
Considering that if "query-schema" is still not there, I'd still
prefer the "array" solution. At least, it can keep the schema
several lines shorter (as you have mentioned already, it's *big*
enough :). Also, even we would have "query-schema", I would still
prefer not change schema unless necessary. What do you think?
Thanks!
Peter