This patch set enables cpu model support for s390. The user can now set exact cpu models, query supported models via virsh domcapabilities, and use host-model and host-passthrough modes. The end result is that migration is safer because Qemu will perform runnability checking on the destination host and quit with an error if the guest's cpu model is not supported. Note: Some test data has been separated from corresponding test case updates for ease of review. Changelog --------- [v2] * Added s390x cpu and capabilities tests * Added cpu feature syntax tests * Dropped patch: Warn when migrating host-passthrough * Added patch: Document migrating host-passthrough is dangerous s390: Cpu driver support for update and compare - Compare: Added comment explaining why s390 bypasses the cpuCompare operation - Update: Added error message explaining minimum match mode is not supported - Update: Ensure user is not using unsupported optional feature policy - Update: Use virCPUDefUpdateFeature to update/create user requested features - Other minor fixes s390-cpu: Remove nodeData and decode - Completely remove nodeData and decode functions qemu: qmp query-cpu-model-expansion command - Cleaned up debug print - Restructured qemuMonitorJSONGetCPUModelExpansion - Added more JSON parsing error handling - CPU model features now parsed via an iterator - qemuMonitorJSONGetCPUModelExpansion: Fixed double free of model ptr - Restructure qemuMonitorCPUModelInfoFree - Other minor fixes qemu-caps: Get host model directly from Qemu when available - virQEMUCapsProbeQMPHostCPU: indentation fix - Fixed rebase error involving a missing 'goto cleanup;'. - Fix indentation in virQEMUCapsProbeQMPHostCPU - virQEMUCapsInitHostCPUModel now routes to virQEMUCapsCopyModelFromQEMU or virQEMUCapsCopyModelFromHost, depending on architecture. - Restructure hostCpu data in qemu caps cache xml - Other minor fixes Collin L. Walling (6): qemu: qmp query-cpu-model-expansion command qemu-caps: Get host model directly from Qemu when available qemu: command: Support new cpu feature argument syntax test-data: Qemu caps replies and xml for s390x qemu 2.7 and 2.8 tests: qemu capabilites: qemu 2.7 and 2.8 on s390x tests: domain capabilities: qemu 2.8 on s390x Jason J. Herne (5): s390: Cpu driver support for update and compare s390-cpu: Remove nodeData and decode docs: document cpu host-passthrough migration issue tests: qemuxml2argv s390x cpu model tests: qemuxml2argv cpu feature syntax docs/formatdomain.html.in | 6 +- po/POTFILES.in | 1 + src/cpu/cpu_s390.c | 103 +- src/qemu/qemu_capabilities.c | 180 +- src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 10 +- src/qemu/qemu_monitor.c | 62 + src/qemu/qemu_monitor.h | 22 + src/qemu/qemu_monitor_json.c | 121 + src/qemu/qemu_monitor_json.h | 12 + tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 159 + tests/domaincapstest.c | 14 + .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 11999 +++++++++++++++++ tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 140 + .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 13380 +++++++++++++++++++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 286 + tests/qemucapabilitiestest.c | 4 + .../qemuxml2argv-cpu-features-post-qcme.args | 19 + .../qemuxml2argv-cpu-features-post-qcme.xml | 23 + .../qemuxml2argv-cpu-features-pre-qcme.args | 19 + .../qemuxml2argv-cpu-features-pre-qcme.xml | 23 + .../qemuxml2argv-cpu-s390-zEC12.args | 19 + .../qemuxml2argv-cpu-s390-zEC12.xml | 21 + tests/qemuxml2argvtest.c | 19 + tests/testutilsqemu.c | 39 +- tests/testutilsqemu.h | 1 + 26 files changed, 26642 insertions(+), 41 deletions(-) create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-features-post-qcme.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-features-post-qcme.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-features-pre-qcme.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-features-pre-qcme.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-s390-zEC12.xml -- 2.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list