From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abKs3-0002WX-CF for qemu-devel@nongnu.org; Wed, 02 Mar 2016 23:28:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abKry-0006Rg-4E for qemu-devel@nongnu.org; Wed, 02 Mar 2016 23:28:15 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38373) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abKrx-0006RM-Uu for qemu-devel@nongnu.org; Wed, 02 Mar 2016 23:28:10 -0500 Date: Thu, 3 Mar 2016 12:27:54 +0800 From: Peter Xu Message-ID: <20160303042754.GA30973@pxdev.xzpeter.org> References: <1456224728-28163-1-git-send-email-peterx@redhat.com> <1456224728-28163-2-git-send-email-peterx@redhat.com> <1456842059.3566.11.camel@redhat.com> <20160302033444.GA5730@pxdev.xzpeter.org> <20160302071540.GC5730@pxdev.xzpeter.org> <87fuw9p5xg.fsf@blackfin.pond.sub.org> <20160302105558.GD5730@pxdev.xzpeter.org> <87fuw9kmjm.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87fuw9kmjm.fsf@blackfin.pond.sub.org> Subject: Re: [Qemu-devel] [PATCH 1/3] arm: gic: add GICType List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: wei@redhat.com, peter.maydell@linaro.org, drjones@redhat.com, qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com, Andrea Bolognani On Wed, Mar 02, 2016 at 02:59:57PM +0100, Markus Armbruster wrote: > Peter Xu 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