Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Philippe Mathieu-Daudé" <philmd@mailo.com>, Gerd Hoffmann <kraxel@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Gonglei (Arei)" <arei.gonglei@huawei.com>, zhenwei pi <zhenwei.pi@linux.dev>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Markus Armbruster <armbru@redhat.com>, Ani Sinha <anisinha@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, "Michael S. Tsirkin" <mst@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, Brian Cain <brian.cain@oss.qualcomm.com>, David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.org>, Marcelo Tosatti <mtosatti@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Jason Wang <jasowangio@gmail.com>, Jiri Pirko <jiri@resnulli.us>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Cornelia Huck <cohuck@redhat.com>, Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Peter Xu <peterx@redhat.com>, Hyman Huang <infra.ai.cloud@bitdeer.com>, Fabiano Rosas <farosas@suse.de>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Eric Blake <eblake@redhat.com>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Zhao Liu <zhao1.liu@intel.com>, Chinmay Rath <rathc@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Glenn Miles <milesg@linux.ibm.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu@processmission.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Artyom Tarasenko <atar4qemu@gmail.com>, Max Filippov <jcmvbkbc@gmail.com>, Thomas Huth <th.huth+qemu@posteo.eu>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, "Denis V. Lunev" <den@openvz.org>, Aditya Gupta <adityag@linux.ibm.com>, Gautam Menghani <gautam@linux.ibm.com>, Stefan Hajnoczi <stefanha@redhat.com>
.gitlab-ci.d/buildtest.yml | 1 +
accel/accel-system.c | 3 +
accel/tcg/monitor.c | 3 +
audio/audio-hmp-cmds.c | 10 +-
audio/meson.build | 4 +-
backends/cryptodev-hmp-cmds.c | 10 +-
backends/meson.build | 5 +-
block/monitor/block-hmp-cmds.c | 341 +++++++----------
block/monitor/meson.build | 5 +-
block/monitor/qmp-cmds.c | 79 ++++
chardev/char-hmp-cmds.c | 36 +-
chardev/char.c | 11 +-
chardev/meson.build | 5 +-
disas/disas-mon.c | 11 +-
disas/meson.build | 4 +-
docs/devel/style.rst | 2 +-
docs/devel/writing-monitor-commands.rst | 8 +-
dump/dump-hmp-cmds.c | 12 +-
dump/meson.build | 5 +-
gdbstub/system.c | 10 +-
hmp-commands-info.hx | 6 +-
hmp-commands.hx | 9 +-
hw/char/virtio-serial-bus.c | 21 +-
hw/core/machine-hmp-cmds.c | 263 +++++++------
hw/core/meson.build | 5 +-
hw/core/sysbus.c | 15 +-
hw/hexagon/hexagon_tlb.c | 87 ++---
hw/i386/kvm/xen-stubs.c | 10 +-
hw/i386/kvm/xen_evtchn.c | 28 +-
hw/i386/meson.build | 4 +-
hw/i386/sgx-hmp-stub.c | 4 +-
hw/i386/sgx.c | 32 +-
hw/misc/auxbus.c | 29 +-
hw/misc/mos6522-stub.c | 6 +-
hw/misc/mos6522.c | 7 +-
hw/net/meson.build | 4 +-
hw/net/rocker/rocker-hmp-cmds.c | 158 ++++----
hw/pci/meson.build | 4 +-
hw/pci/pci-hmp-cmds.c | 121 +++---
hw/pci/pci-internal.h | 2 +-
hw/pci/pci-stub.c | 8 +-
hw/pci/pci.c | 2 +
hw/s390x/s390-skeys.c | 14 +-
hw/s390x/s390-stattrib.c | 26 +-
hw/uefi/ovmf-log.c | 10 +-
hw/usb/bus.c | 21 +-
hw/usb/host-libusb.c | 29 +-
hw/virtio/meson.build | 4 +-
hw/virtio/virtio-hmp-cmds.c | 312 ++++++++--------
hw/xen/xen-bus.c | 11 +-
include/block/block-hmp-cmds.h | 55 +--
include/disas/disas.h | 4 +-
include/hw/core/qdev.h | 5 +-
include/hw/core/sysemu-cpu-ops.h | 2 +
include/hw/hexagon/hexagon_tlb.h | 5 +-
include/hw/usb/usb.h | 3 +-
include/monitor/hmp.h | 334 +++++++++--------
include/monitor/monitor.h | 21 --
include/monitor/qdev.h | 5 +-
include/net/net.h | 8 +-
include/net/slirp.h | 8 +-
include/qemu-io.h | 4 +-
include/system/memory.h | 2 +
meson.build | 6 +-
meson_options.txt | 2 +
migration/dirtyrate.c | 52 +--
migration/meson.build | 4 +-
migration/migration-hmp-cmds.c | 363 +++++++++---------
monitor/hmp-cmds.c | 290 +++++++--------
monitor/hmp.c | 257 +++++++------
monitor/meson.build | 9 +-
monitor/monitor-hmp-internal.h | 106 ++++++
monitor/monitor-internal.h | 104 ------
monitor/monitor.c | 76 ++--
monitor/qmp-cmds.c | 5 +-
net/hub.c | 29 +-
net/hub.h | 4 +-
net/meson.build | 4 +-
net/net-hmp-cmds.c | 85 +++--
net/net.c | 70 +++-
net/slirp.c | 70 ++--
python/qemu/utils/__init__.py | 5 +-
qapi/block.json | 34 ++
qapi/control.json | 4 +-
qapi/misc.json | 3 +-
qapi/net.json | 166 +++++++++
qemu-io-cmds.c | 414 +++++++++++----------
qemu-io.c | 17 +-
qemu-options.hx | 6 +-
qom/meson.build | 4 +-
qom/qom-hmp-cmds.c | 46 +--
replay/replay-debugging.c | 20 +-
replay/stubs-system.c | 14 +-
scripts/meson-buildoptions.sh | 3 +
stats/meson.build | 5 +-
stats/stats-hmp-cmds.c | 60 +--
stubs/hmp-cmd-info_sev.c | 4 +-
stubs/meson.build | 15 +-
stubs/monitor-core.c | 21 +-
stubs/monitor-cur.c | 14 +
stubs/monitor-hmp.c | 9 +
stubs/monitor-internal.c | 4 +-
stubs/qapi-event-emit.c | 8 +
system/dirtylimit-hmp-cmds.c | 20 +-
system/meson.build | 11 +-
system/physmem.c | 31 ++
system/qdev-monitor.c | 39 +-
system/qtest.c | 14 +
system/runstate-hmp-cmds.c | 22 +-
system/tpm-hmp-cmds.c | 30 +-
system/vl.c | 4 +-
target/hexagon/hex_mmu.c | 6 +-
target/hexagon/hex_mmu.h | 3 +-
target/i386/cpu-apic.c | 8 +-
target/i386/cpu.c | 8 +-
target/i386/cpu.h | 4 +-
target/i386/helper.c | 49 +--
target/i386/kvm/kvm.c | 4 +-
target/i386/monitor.c | 173 ++++-----
target/i386/sev.c | 38 +-
target/m68k/cpu.c | 4 +
target/m68k/monitor.c | 8 +-
target/ppc/monitor.c | 8 +-
target/riscv/monitor.c | 61 +--
target/rx/disas.c | 1 +
target/sh4/monitor.c | 34 +-
target/sparc/cpu.c | 5 +-
target/sparc/monitor.c | 8 +-
target/xtensa/monitor.c | 8 +-
tests/functional/generic/test_version.py | 10 +-
tests/functional/qemu_test/utils.py | 8 +-
tests/qemu-iotests/004.out | 20 +-
tests/qemu-iotests/021.out | 60 +--
tests/qemu-iotests/026.out | 228 ++++++------
tests/qemu-iotests/028 | 1 +
tests/qemu-iotests/045 | 3 +-
tests/qemu-iotests/051 | 1 +
tests/qemu-iotests/056 | 3 +-
tests/qemu-iotests/060 | 1 +
tests/qemu-iotests/060.out | 44 ++-
tests/qemu-iotests/068 | 1 +
tests/qemu-iotests/071 | 1 +
tests/qemu-iotests/071.out | 10 +-
tests/qemu-iotests/072.out | 2 +-
tests/qemu-iotests/080.out | 4 +-
tests/qemu-iotests/081 | 1 +
tests/qemu-iotests/081.out | 2 +-
tests/qemu-iotests/083.out | 36 +-
tests/qemu-iotests/089.out | 4 +-
tests/qemu-iotests/091 | 1 +
tests/qemu-iotests/093 | 3 +-
tests/qemu-iotests/102 | 1 +
tests/qemu-iotests/114.out | 2 +-
tests/qemu-iotests/117 | 1 +
tests/qemu-iotests/119 | 1 +
tests/qemu-iotests/120 | 1 +
tests/qemu-iotests/124 | 3 +-
tests/qemu-iotests/130 | 1 +
tests/qemu-iotests/132 | 3 +-
tests/qemu-iotests/134.out | 2 +-
tests/qemu-iotests/136 | 3 +-
tests/qemu-iotests/137.out | 2 +-
tests/qemu-iotests/142 | 1 +
tests/qemu-iotests/145 | 1 +
tests/qemu-iotests/146 | 1 +
tests/qemu-iotests/148 | 3 +-
tests/qemu-iotests/151 | 3 +-
tests/qemu-iotests/152 | 3 +-
tests/qemu-iotests/153 | 1 +
tests/qemu-iotests/153.out | 12 +-
tests/qemu-iotests/156 | 1 +
tests/qemu-iotests/157 | 1 +
tests/qemu-iotests/161 | 1 +
tests/qemu-iotests/165 | 3 +-
tests/qemu-iotests/171 | 2 +-
tests/qemu-iotests/171.out | 68 ++--
tests/qemu-iotests/172 | 1 +
tests/qemu-iotests/181 | 1 +
tests/qemu-iotests/185 | 1 +
tests/qemu-iotests/186 | 1 +
tests/qemu-iotests/192 | 1 +
tests/qemu-iotests/201 | 1 +
tests/qemu-iotests/205 | 6 +-
tests/qemu-iotests/214.out | 2 +-
tests/qemu-iotests/216 | 3 +-
tests/qemu-iotests/220.out | 2 +-
tests/qemu-iotests/225 | 1 +
tests/qemu-iotests/225.out | 4 +-
tests/qemu-iotests/232 | 1 +
tests/qemu-iotests/236 | 3 +-
tests/qemu-iotests/244.out | 12 +-
tests/qemu-iotests/245 | 3 +-
tests/qemu-iotests/246 | 3 +-
tests/qemu-iotests/249 | 1 +
tests/qemu-iotests/249.out | 6 +-
tests/qemu-iotests/254 | 3 +-
tests/qemu-iotests/255 | 3 +-
tests/qemu-iotests/257 | 3 +-
tests/qemu-iotests/260 | 3 +-
tests/qemu-iotests/264 | 3 +-
tests/qemu-iotests/267 | 1 +
tests/qemu-iotests/271.out | 14 +-
tests/qemu-iotests/274 | 3 +-
tests/qemu-iotests/280 | 1 +
tests/qemu-iotests/281 | 3 +-
tests/qemu-iotests/283 | 1 +
tests/qemu-iotests/286 | 1 +
tests/qemu-iotests/289.out | 2 +-
tests/qemu-iotests/298 | 3 +-
tests/qemu-iotests/300 | 3 +-
tests/qemu-iotests/304 | 3 +-
tests/qemu-iotests/305.out | 2 +-
tests/qemu-iotests/307.out | 2 +-
tests/qemu-iotests/310 | 3 +-
tests/qemu-iotests/common.rc | 8 +
tests/qemu-iotests/iotests.py | 32 +-
tests/qemu-iotests/tests/backup-discard-source | 7 +-
tests/qemu-iotests/tests/copy-before-write | 69 ++--
tests/qemu-iotests/tests/file-io-error.out | 2 +-
tests/qemu-iotests/tests/image-fleecing | 3 +-
tests/qemu-iotests/tests/image-fleecing.out | 12 +-
tests/qemu-iotests/tests/inactive-node-nbd.out | 8 +-
tests/qemu-iotests/tests/iothreads-create | 3 +-
tests/qemu-iotests/tests/luks-detached-header | 3 +-
.../tests/migrate-bitmaps-postcopy-test | 3 +-
tests/qemu-iotests/tests/migrate-bitmaps-test | 3 +-
tests/qemu-iotests/tests/mirror-change-copy-mode | 3 +-
tests/qemu-iotests/tests/mirror-ready-cancel-error | 3 +-
tests/qemu-iotests/tests/qcow2-internal-snapshots | 1 +
tests/qemu-iotests/tests/qsd-migrate | 3 +-
tests/qemu-iotests/tests/reopen-file | 3 +-
tests/qemu-iotests/tests/write-zeroes-unmap | 1 +
tests/qtest/ahci-test.c | 5 +-
tests/qtest/cdrom-test.c | 29 +-
tests/qtest/device-introspect-test.c | 111 ++++--
tests/qtest/drive_del-test.c | 25 ++
tests/qtest/ide-test.c | 4 +-
tests/qtest/libqtest.c | 14 +
tests/qtest/libqtest.h | 11 +
tests/qtest/meson.build | 8 +-
tests/qtest/netdev-socket.c | 143 ++++---
tests/qtest/numa-test.c | 63 +++-
tests/qtest/pnv-host-i2c-test.c | 2 +-
tests/qtest/pnv-xive2-test.c | 2 +-
tests/qtest/qmp-test.c | 13 +-
tests/unit/test-util-sockets.c | 1 -
tests/vm/basevm.py | 13 +-
tools/qemu-vnc/clipboard.c | 4 +-
tools/qemu-vnc/stubs.c | 5 -
trace/meson.build | 5 +-
trace/trace-hmp-cmds.c | 17 +-
ui/meson.build | 4 +-
ui/ui-hmp-cmds.c | 151 ++++----
util/error-report.c | 72 ++--
util/qemu-print.c | 30 +-
255 files changed, 3922 insertions(+), 2938 deletions(-)
create mode 100644 block/monitor/qmp-cmds.c
create mode 100644 monitor/monitor-hmp-internal.h
create mode 100644 stubs/monitor-cur.c
create mode 100644 stubs/monitor-hmp.c
create mode 100644 stubs/qapi-event-emit.c