mbox series

[v3,0/2] qdev-monitor: avoid QemuOpts in QMP device_add()

Message ID 20240827192751.948633-1-stefanha@redhat.com
Headers show
Series qdev-monitor: avoid QemuOpts in QMP device_add() | expand

Message

Stefan Hajnoczi Aug. 27, 2024, 7:27 p.m. UTC
v3:
- Duplicate drain_call_rcu() into hmp_device_add() because moving it into
  qdev_device_add_from_qdict turned out to be unsafe.
v2:
- Rename Patch 1 to indicate that we're avoiding QemuOpts rather than doing a
  full conversion to QAPI. Also mention that 'gen': false is still being used.
  [Markus]
- Add Patch 2 to address a TODO comment suggesting that
  qemu_create_cli_devices() should call qmp_device_add(). [Markus]
- Move drain_call_rcu() into qdev_device_add_from_qdict() to avoid code
  duplication. [Markus]

This series enables non-scalar parameter parsing in device_add (e.g.
virtio-blk-pci,iothread-vq-mapping=). Stop converting from QDict to QemuOpts
and back again as this loses type information and cannot represent non-scalars.

Stefan Hajnoczi (2):
  qdev-monitor: avoid QemuOpts in QMP device_add
  vl: use qmp_device_add() in qemu_create_cli_devices()

 system/qdev-monitor.c | 44 ++++++++++++++++++++++++++++---------------
 system/vl.c           | 14 ++++----------
 2 files changed, 33 insertions(+), 25 deletions(-)