And here is v3. Dependencies remained, the changes are: - disabled device_show for QMP use (due to protocol instability) - reordered device tree path search: user-assigned ID comes last now - added vmstate version-id to device_show output - base64 cleanups according to review comments - fixed an off-by-one in the qmp.py changes
Git url remained the same: git://git.kiszka.org/qemu.git queues/device-show Thanks again for the comments. Jan Kiszka (17): Add dependency of JSON unit tests on config-host.h qdev: Fix scanning across single-bus devices qdev: Allow device addressing via 'driver.instance' qdev: Give qtree names precedence over user-assigned IDs qdev: Convert device and bus lists to QTAILQ qdev: Allow device specification by qtree path for device_del qdev: Push QMP mode checks into qbus_list_bus/dev monitor: Add completion for qdev paths Add base64 encoder/decoder QMP: Reserve namespace for complex object classes Add QBuffer monitor: return length of printed string via monitor_[v]printf monitor: Allow to exclude commands from QMP monitor: Add basic device state visualization QMP: Teach basic capability negotiation to python example QMP: Fix python helper /wrt long return strings QMP: Add support for buffer class to qmp python helper Makefile | 5 +- Makefile.objs | 4 +- QMP/qmp-shell | 1 + QMP/qmp-spec.txt | 24 +++- QMP/qmp.py | 29 +++- QMP/vm-info | 1 + base64.c | 202 ++++++++++++++++++++++ base64.h | 19 ++ check-qbuffer.c | 172 +++++++++++++++++++ configure | 2 +- docs/qdev-device-use.txt | 20 ++- hw/acpi_piix4.c | 2 +- hw/hw.h | 2 + hw/i2c.c | 2 +- hw/pci-hotplug.c | 2 +- hw/qdev.c | 414 ++++++++++++++++++++++++++++++++++++++++----- hw/qdev.h | 12 +- hw/ssi.c | 6 +- monitor.c | 121 ++++++++++++-- monitor.h | 4 +- qbuffer.c | 116 +++++++++++++ qbuffer.h | 33 ++++ qemu-monitor.hx | 29 +++- qemu-tool.c | 6 +- qerror.c | 4 + qerror.h | 3 + qjson.c | 15 ++ qobject.h | 1 + 28 files changed, 1165 insertions(+), 86 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