qdev path reworks & basic device state visualization
Get series with b4
b4 am [email protected]Versions newest first
- v4 Latest23 patches 22 repliesIn review
Patches in v4 No applies recorded yet
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.
Cover letter [Qemu-devel] [PATCH v4 00/23] qdev path reworks & basic device state visualization
This is v4 of this series. Besides small fixes, it's main focus is on the groundwork for the visualization command: qdev path usability.
The significant changes are:
- drop many of the inconsistent or ambiguous qtree abbreviations
- devices can now be address via unique ID (no '/' allowed here) or an absolute path (must start with '/')
- buses remain addressable via their ambiguous local name (mostly to avoid libvirt breakages) or their absolute path
- the per-bus instance numbers introduced in this series are now printed consistently
- monitor command completion inside option lists is added (allows to expand "device_add ...,bus=" and "drive=")
- HMP commands can now have their own argument set (not yet urgently needed for device_show but likely already useful for other commands)
Git url as usual:
git://git.kiszka.org/qemu.git queues/device-show
Thanks once again for comments. Hope we can soon agree on a mergable version for 0.13.
Jan Kiszka (23):
qdev: Rework qtree path abbreviations
qdev: Restrict direct bus addressing via its name
qdev: Drop ID matching from qtree paths
qdev: Allow device addressing via 'driver.instance'
qdev: Convert device and bus lists to QTAILQ
qdev: Push QMP mode checks into qbus_list_bus/dev
qdev: Allow device specification by qtree path for device_del
qdev: Introduce qdev_iterate_recursive
monitor: Fix leakage during completion processing
monitor: Fix command completion vs. boolean switches
monitor: Add completion support for option lists
monitor: Add completion for qdev paths
monitor: Allow to specify HMP-specifc command arguments
monitor: return length of printed string via monitor_[v]printf
monitor: Establish cmd flags and convert the async tag
monitor: Allow to exclude commands from QMP
Add base64 encoder/decoder
QMP: Reserve namespace for complex object classes
QMP: Add QBuffer
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 | 13 ++- hw/acpi_piix4.c | 2 +- hw/hw.h | 2 + hw/i2c.c | 2 +- hw/pci-hotplug.c | 2 +- hw/qdev.c | 488 ++++++++++++++++++++++++++++++++++++++-------- hw/qdev.h | 16 ++- hw/ssi.c | 6 +- monitor.c | 258 +++++++++++++++++++++---- monitor.h | 8 +- qbuffer.c | 116 +++++++++++ qbuffer.h | 33 +++ qemu-monitor.hx | 34 +++- qemu-tool.c | 6 +- qerror.c | 8 +- qerror.h | 6 +- qjson.c | 15 ++ qobject.h | 1 + 28 files changed, 1315 insertions(+), 160 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