From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37770) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qwxhl-0005nE-Cm for qemu-devel@nongnu.org; Fri, 26 Aug 2011 10:48:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qwxhk-0008Tc-7t for qemu-devel@nongnu.org; Fri, 26 Aug 2011 10:48:21 -0400 Received: from david.siemens.de ([192.35.17.14]:24891) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qwxhj-0008Sv-VM for qemu-devel@nongnu.org; Fri, 26 Aug 2011 10:48:20 -0400 From: Jan Kiszka Date: Fri, 26 Aug 2011 16:48:10 +0200 Message-Id: Subject: [Qemu-devel] [PATCH 0/6] Device state visualization reloaded List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel Cc: Markus Armbruster , Luiz Capitulino 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. 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 -- 1.7.3.4