[PULL 00/35] Monitor patches for 2026-07-07

Markus Armbruster posted 35 patches 2 weeks, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260707110300.1918153-1-armbru@redhat.com
Maintainers: "Gonglei (Arei)" <arei.gonglei@huawei.com>, zhenwei pi <zhenwei.pi@linux.dev>, David Hildenbrand <david@kernel.org>, Igor Mammedov <imammedo@redhat.com>, Yi Liu <yi.l.liu@intel.com>, Eric Auger <eric.auger@redhat.com>, Zhenzhong Duan <zhenzhong.duan@intel.com>, Alberto Garcia <berto@igalia.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Markus Armbruster <armbru@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Zhao Liu <zhao1.liu@intel.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@mailo.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, "Dr. David Alan Gilbert" <dave@treblig.org>, Pavel Pisa <pisa@cmp.felk.cvut.cz>, Francisco Iglesias <francisco.iglesias@amd.com>, Vikram Garhwal <vikram.garhwal@bytedance.com>, Jason Wang <jasowangio@gmail.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Eric Blake <eblake@redhat.com>, Thomas Huth <th.huth+qemu@posteo.eu>, Laurent Vivier <lvivier@redhat.com>
MAINTAINERS                                      |   1 +
docs/about/deprecated.rst                        |  10 +
docs/devel/writing-monitor-commands.rst          |   4 +-
docs/system/arm/xenpvh.rst                       |   4 +-
docs/system/i386/xen.rst                         |   3 +-
docs/system/i386/xenpvh.rst                      |   4 +-
qapi/qom.json                                    |  63 +++++
include/monitor/monitor.h                        |  26 +-
include/qom/object_interfaces.h                  |  26 +-
include/system/event-loop-base.h                 |   2 +-
monitor/monitor-internal.h                       |  73 +++--
backends/cryptodev.c                             |  12 +-
backends/hostmem.c                               |   7 +-
backends/iommufd.c                               |  11 +-
block/throttle-groups.c                          |  12 +-
chardev/char.c                                   |   3 +-
event-loop-base.c                                |   8 +-
gdbstub/system.c                                 |   2 +-
migration/migration-hmp-cmds.c                   |   5 +-
monitor/hmp-cmds.c                               |   7 +-
monitor/hmp.c                                    | 181 ++++++++++---
monitor/monitor.c                                | 273 ++++++++++---------
monitor/qmp-cmds-control.c                       |  12 +-
monitor/qmp-cmds.c                               |  14 +-
monitor/qmp.c                                    | 323 ++++++++++++++++++++---
net/can/can_core.c                               |   6 +-
qom/object_interfaces.c                          |  20 +-
storage-daemon/qemu-storage-daemon.c             |   2 +-
stubs/monitor-core.c                             |   5 -
stubs/monitor-internal.c                         |   4 +-
system/vl.c                                      |  19 +-
tests/qtest/libqtest.c                           |   2 +-
tests/qtest/qmp-test.c                           | 174 ++++++++++++
tests/unit/test-util-sockets.c                   |   1 -
tools/qemu-vnc/stubs.c                           |   5 -
ui/ui-hmp-cmds.c                                 |   2 +-
util/error-report.c                              |  13 +-
util/main-loop.c                                 |   6 +-
python/qemu/machine/machine.py                   |   4 +-
qemu-options.hx                                  |  64 ++++-
qom/trace-events                                 |   5 +
tests/functional/generic/meson.build             |   1 +
tests/functional/generic/test_monitor_hotplug.py | 305 +++++++++++++++++++++
tests/qemu-iotests/245                           |   4 +-
44 files changed, 1395 insertions(+), 333 deletions(-)
create mode 100755 tests/functional/generic/test_monitor_hotplug.py
[PULL 00/35] Monitor patches for 2026-07-07
Posted by Markus Armbruster 2 weeks, 4 days ago
The following changes since commit 94826ec1370328375c3b6d1e80fdc94c8f46c348:

  Merge tag 'accel-20260706' of https://github.com/philmd/qemu into staging (2026-07-06 18:38:14 +0200)

are available in the Git repository at:

  https://repo.or.cz/qemu/armbru.git tags/pull-monitor-2026-07-07

for you to fetch changes up to 58b70f21ba6364be4f79d9f9c56b334341051bfd:

  docs: mark '-mon' as deprecated in favour of -object (2026-07-07 11:16:27 +0200)

----------------------------------------------------------------
Monitor patches for 2026-07-07

----------------------------------------------------------------
Christian Brauner (6):
      monitor: convert from oneshot BH to persistent BH
      monitor: reject attempts to delete the current monitor
      monitor: protect qemu_chr_fe_accept_input with monitor lock
      monitor: implement support for deleting QMP objects
      tests/qtest: add tests for dynamic monitor add/remove
      tests/functional: add e2e test for dynamic QMP monitor hotplug

Daniel P. Berrangé (29):
      qom: replace 'can_be_deleted' with 'prepare_delete'
      monitor: replace 'common' with 'parent_obj' in MonitorHMP
      monitor: replace 'common' with 'parent_obj' in MonitorQMP
      monitor: rename monitor_init* to monitor_new*
      monitor: minimal conversion of monitors to QOM
      monitor: pass chardev ID into monitor constructor instead of object
      monitor: add 'chardev' property to Monitor base class
      monitor: add 'readline' property to HMP Monitor class
      monitor: add 'pretty' property to QMP Monitor class
      monitor: remove 'skip_flush' field
      monitor: move monitor_data_(init|destroy) into QOM init/finalize
      monitor: use class methods for monitor_vprintf
      monitor: use class methods for monitor_qapi_event_emit
      monitor: use class methods for monitor_accept_input
      monitor: use class method for I/O thread request
      monitor: use dynamic cast in monitor_qmp_requests_pop_any_with_lock
      util: use dynamic cast in error vreport
      monitor: drop unused monitor_cur_is_qmp
      monitor: use dynamic cast in QMP commands
      monitor: use dynamic cast in monitor_is_hmp_non_interactive
      monitor: drop unused monitor_is_qmp method
      monitor: eliminate monitor_is_hmp_non_interactive method
      monitor: implement "user creatable" interface for adding monitors
      tests/functional: add a stress test for monitor hot unplug
      qom: add trace events for user creatable create/delete APIs
      monitor: add support for auto-deleting monitors upon close
      tests: switch from -mon to -object monitor-qmp
      qemu-options: document new monitor-hmp and monitor-qmp objects
      docs: mark '-mon' as deprecated in favour of -object

 MAINTAINERS                                      |   1 +
 docs/about/deprecated.rst                        |  10 +
 docs/devel/writing-monitor-commands.rst          |   4 +-
 docs/system/arm/xenpvh.rst                       |   4 +-
 docs/system/i386/xen.rst                         |   3 +-
 docs/system/i386/xenpvh.rst                      |   4 +-
 qapi/qom.json                                    |  63 +++++
 include/monitor/monitor.h                        |  26 +-
 include/qom/object_interfaces.h                  |  26 +-
 include/system/event-loop-base.h                 |   2 +-
 monitor/monitor-internal.h                       |  73 +++--
 backends/cryptodev.c                             |  12 +-
 backends/hostmem.c                               |   7 +-
 backends/iommufd.c                               |  11 +-
 block/throttle-groups.c                          |  12 +-
 chardev/char.c                                   |   3 +-
 event-loop-base.c                                |   8 +-
 gdbstub/system.c                                 |   2 +-
 migration/migration-hmp-cmds.c                   |   5 +-
 monitor/hmp-cmds.c                               |   7 +-
 monitor/hmp.c                                    | 181 ++++++++++---
 monitor/monitor.c                                | 273 ++++++++++---------
 monitor/qmp-cmds-control.c                       |  12 +-
 monitor/qmp-cmds.c                               |  14 +-
 monitor/qmp.c                                    | 323 ++++++++++++++++++++---
 net/can/can_core.c                               |   6 +-
 qom/object_interfaces.c                          |  20 +-
 storage-daemon/qemu-storage-daemon.c             |   2 +-
 stubs/monitor-core.c                             |   5 -
 stubs/monitor-internal.c                         |   4 +-
 system/vl.c                                      |  19 +-
 tests/qtest/libqtest.c                           |   2 +-
 tests/qtest/qmp-test.c                           | 174 ++++++++++++
 tests/unit/test-util-sockets.c                   |   1 -
 tools/qemu-vnc/stubs.c                           |   5 -
 ui/ui-hmp-cmds.c                                 |   2 +-
 util/error-report.c                              |  13 +-
 util/main-loop.c                                 |   6 +-
 python/qemu/machine/machine.py                   |   4 +-
 qemu-options.hx                                  |  64 ++++-
 qom/trace-events                                 |   5 +
 tests/functional/generic/meson.build             |   1 +
 tests/functional/generic/test_monitor_hotplug.py | 305 +++++++++++++++++++++
 tests/qemu-iotests/245                           |   4 +-
 44 files changed, 1395 insertions(+), 333 deletions(-)
 create mode 100755 tests/functional/generic/test_monitor_hotplug.py

-- 
2.54.0


Re: [PULL 00/35] Monitor patches for 2026-07-07
Posted by Stefan Hajnoczi 2 weeks, 4 days ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/11.1 for any user-visible changes.