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