qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/6] Device state visualization reloaded


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 0/6] Device state visualization reloaded
Date: Mon, 29 Aug 2011 14:22:04 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

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<address@hidden>
CC: Markus Armbruster<address@hidden>

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]