From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qy7PQ-0004mm-MD for qemu-devel@nongnu.org; Mon, 29 Aug 2011 15:22:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qy7PP-0006a9-JX for qemu-devel@nongnu.org; Mon, 29 Aug 2011 15:22:12 -0400 Received: from e38.co.us.ibm.com ([32.97.110.159]:47714) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qy7PP-0006Zx-CF for qemu-devel@nongnu.org; Mon, 29 Aug 2011 15:22:11 -0400 Received: from d03relay01.boulder.ibm.com (d03relay01.boulder.ibm.com [9.17.195.226]) by e38.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p7TJEEfh024663 for ; Mon, 29 Aug 2011 13:14:14 -0600 Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay01.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p7TJM5Pu205700 for ; Mon, 29 Aug 2011 13:22:05 -0600 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p7TDM4Dn025961 for ; Mon, 29 Aug 2011 07:22:04 -0600 Message-ID: <4E5BE6DC.5030204@us.ibm.com> Date: Mon, 29 Aug 2011 14:22:04 -0500 From: Anthony Liguori MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/6] Device state visualization reloaded List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Luiz Capitulino , qemu-devel , Markus Armbruster On 08/26/2011 09:48 AM, Jan Kiszka wrote: > More than one year ago I posted some patches to add a monitor command > callend device_show. The purpose of that command is to dump the state of > some qdev device based on its vmstate. I have a series that does the same thing as this in a totally different way. Instead of a VMState interpreter, it converts all marshalling to go through a Visitor interface. This makes it extensible to devices that don't currently support VMState. Regards, Anthony Liguori > > To improve the usability of that interface, the previous series also > tried to create a canonical qdev tree path name format and even added > monitor command expansion. That format created quite a few discussions, > and we never came to some conclusion. > > As device_show is still a useful tool for debugging but qdev structuring > and addressing may significantly change in the near future, I decided to > reanimate those patches while avoiding almost any change of the > addressing scheme. The only one I propose is automatic ID assignment for > anonymous devices so that any qdev device is in principle addressable > (e.g. APIC and IO-APIC on x86). > > As back then, device_show remains HMP-only to avoid any stable ABI > issues around QMP. > > CC: Luiz Capitulino > CC: Markus Armbruster > > Jan Kiszka (6): > monitor: return length of printed string via monitor_[v]printf > Add base64 encoder/decoder > QMP: Reserve namespace for complex object classes > QMP: Add QBuffer > monitor: Add basic device state visualization > qdev: Generate IDs for anonymous devices > > Makefile | 2 +- > Makefile.objs | 4 +- > QMP/qmp-spec.txt | 24 ++++- > base64.c | 202 +++++++++++++++++++++++++++++++++++++ > base64.h | 19 ++++ > check-qbuffer.c | 172 ++++++++++++++++++++++++++++++++ > configure | 2 +- > hmp-commands.hx | 16 +++ > hw/hw.h | 2 + > hw/qdev-properties.c | 2 +- > hw/qdev.c | 271 ++++++++++++++++++++++++++++++++++++++++++++++++-- > hw/qdev.h | 3 + > monitor.c | 23 +++-- > monitor.h | 4 +- > qbuffer.c | 117 ++++++++++++++++++++++ > qbuffer.h | 33 ++++++ > qemu-tool.c | 6 +- > qerror.c | 4 + > qerror.h | 3 + > qjson.c | 15 +++ > qobject.h | 1 + > 21 files changed, 894 insertions(+), 31 deletions(-) > create mode 100644 base64.c > create mode 100644 base64.h > create mode 100644 check-qbuffer.c > create mode 100644 qbuffer.c > create mode 100644 qbuffer.h >