[PATCH 00/24] qemu: Prepare for QAPIfied 'object-add'

Peter Krempa pkrempa at redhat.com
Mon Nov 30 18:55:13 UTC 2020


Prepare libvirt for the changes proposed for qemu:

https://www.redhat.com/archives/libvir-list/2020-November/msg01580.html

Patches 1-12/24 are pure refactors and can be merged right away.

Patches 13-15/24 can be merged, but the justification will be weak
without the rest.

Patches 16-22/24 are RFC until the qemu bits are merged.

Patch 23/24 adds capabilities and needs to be udpated later

Patch 24/24 is not to be merged!


Note that patch 23/24 is intentionally missing from the mailing list
posting as it's just a dump of QEMU capabilities from newest qemu. No
need to litter the list with it.

Also note that after the last patch tests will fail. See that patch for
the reason.

Fetch the full series at:

git fetch https://gitlab.com/pipo.sk/libvirt.git object-add-qapi-3 

Peter Krempa (24):
  qemuMonitorJSONSetMigrationParams: Take double pointer for @params
  qemuMonitorSetMigrationCapabilities: Take double pointer for @caps
  qemuMonitorJSONSetMigrationCapabilities: Refactor cleanup
  testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities: refactor
    cleanup
  qemuMonitorJSONAddObject: Take double pointer for @props
  qemuMonitorJSONMakeCommandInternal: Clear @arguments when stolen
  qemuMonitorAddObject: Fix semantics of @alias
  qemuMonitorAddObject: Refactor cleanup
  util: json: Replace virJSONValueObjectSteal by
    virJSONValueObjectRemoveKey
  tests: qemuxml2argv: Don't check whether -netdev was QAPIfied
    repeatedly
  qemuBuildChrChardevStr: Rename 'flags' to 'cdevflags'
  testCompareXMLToArgvValidateSchema: Populate autoNodeset
  qemu: command: Generate commandline of 'masterKey0' secret via JSON
  qemu: command: Generate commandline of 'sev0' sev-guest object via
    JSON
  qemu: command: Generate commandline of iothread objects JSON
  qemu: capabilities: Introduce QEMU_CAPS_OBJECT_QAPIFIED
  tests: qemuxml2argv: Validate generation of JSON props for object-add
  qemu: command: Introduce raw JSON passthrough for '-object' for
    testing
  qemu: monitor: Make wrapping of 'props' of 'object-add' optional
  qemuMonitorCreateObjectPropsWrap: Open-code in
    qemuBuildMemoryBackendProps
  qemu: monitor: Don't add 'props' wrapper if qemu has
    QEMU_CAPS_OBJECT_QAPIFIED
  qemumonitorjsontest: Remove bomb guarding object-add
  qemu: capabilities: Add 6.0 capabilities with qapified object-add
  [DONTMERGE] qemuxml2argvtest: Force QMP validation with latest caps

 src/qemu/qemu_capabilities.c                  |     2 +
 src/qemu/qemu_capabilities.h                  |     1 +
 src/qemu/qemu_command.c                       |   332 +-
 src/qemu/qemu_migration_params.c              |    22 +-
 src/qemu/qemu_monitor.c                       |   121 +-
 src/qemu/qemu_monitor.h                       |     8 +-
 src/qemu/qemu_monitor_json.c                  |    57 +-
 src/qemu/qemu_monitor_json.h                  |     6 +-
 src/util/virjson.c                            |    29 +-
 src/util/virqemu.c                            |    48 +-
 src/util/virqemu.h                            |     3 +-
 .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml  |   197 +
 .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml  |   203 +
 tests/domaincapsdata/qemu_6.0.0.x86_64.xml    |   197 +
 .../caps_6.0.0.x86_64.replies                 | 32021 ++++++++++++++++
 .../caps_6.0.0.x86_64.xml                     |  3205 ++
 tests/qemumonitorjsontest.c                   |    40 +-
 ...v-missing-platform-info.x86_64-2.12.0.args |     2 +-
 .../launch-security-sev.x86_64-2.12.0.args    |     2 +-
 tests/qemuxml2argvtest.c                      |    44 +-
 20 files changed, 36202 insertions(+), 338 deletions(-)
 create mode 100644 tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
 create mode 100644 tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
 create mode 100644 tests/domaincapsdata/qemu_6.0.0.x86_64.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml

-- 
2.28.0




More information about the libvir-list mailing list