docs/formatdomain.html.in | 52 ++++- docs/schemas/cputypes.rng | 10 + docs/schemas/domaincommon.rng | 3 + src/conf/cpu_conf.c | 30 +++ src/conf/cpu_conf.h | 12 ++ src/conf/domain_conf.c | 21 ++ src/cpu/cpu.c | 45 +++++ src/cpu/cpu.h | 12 ++ src/cpu/cpu_x86.c | 105 ++++++++++ src/libvirt_private.syms | 1 + src/qemu/qemu_domain.c | 42 ++++ src/qemu/qemu_monitor.c | 11 +- src/qemu/qemu_monitor.h | 3 +- src/qemu/qemu_monitor_json.c | 38 +++- src/qemu/qemu_monitor_json.h | 3 +- src/qemu/qemu_process.c | 225 +++++++++++++-------- tests/domaincapstest.c | 38 ++-- tests/qemumonitorjsontest.c | 4 +- .../qemuxml2argv-aarch64-gic-host.xml | 2 +- .../qemuxml2argv-aarch64-gic-v2.xml | 2 +- .../qemuxml2argv-aarch64-gic-v3.xml | 2 +- .../qemuxml2argv-cpu-check-default-none.args | 21 ++ .../qemuxml2argv-cpu-check-default-none.xml | 19 ++ .../qemuxml2argv-cpu-check-default-none2.args | 21 ++ .../qemuxml2argv-cpu-check-default-none2.xml | 21 ++ .../qemuxml2argv-cpu-check-default-partial.args | 22 ++ .../qemuxml2argv-cpu-check-default-partial.xml | 19 ++ .../qemuxml2argv-cpu-check-default-partial2.args | 21 ++ .../qemuxml2argv-cpu-check-default-partial2.xml | 21 ++ .../qemuxml2argv-cpu-check-full.args | 1 + .../qemuxml2argv-cpu-check-full.xml | 21 ++ .../qemuxml2argv-cpu-check-none.args | 21 ++ .../qemuxml2argv-cpu-check-none.xml | 21 ++ .../qemuxml2argv-cpu-check-partial.args | 1 + .../qemuxml2argv-cpu-check-partial.xml | 21 ++ tests/qemuxml2argvtest.c | 8 + .../qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml | 2 +- ...qemuxml2xmlout-aarch64-video-virtio-gpu-pci.xml | 2 +- .../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 2 +- ...2xmlout-aarch64-virtio-pci-manual-addresses.xml | 2 +- .../qemuxml2xmlout-cpu-check-default-none.xml | 28 +++ .../qemuxml2xmlout-cpu-check-default-none2.xml | 30 +++ .../qemuxml2xmlout-cpu-check-default-partial.xml | 30 +++ .../qemuxml2xmlout-cpu-check-default-partial2.xml | 30 +++ .../qemuxml2xmlout-cpu-check-full.xml | 30 +++ .../qemuxml2xmlout-cpu-check-none.xml | 30 +++ .../qemuxml2xmlout-cpu-check-partial.xml | 30 +++ .../qemuxml2xmlout-cpu-eoi-disabled.xml | 2 +- .../qemuxml2xmlout-cpu-eoi-enabled.xml | 2 +- .../qemuxml2xmlout-cpu-host-kvmclock.xml | 2 +- .../qemuxml2xmlout-cpu-host-model-features.xml | 2 +- ...emuxml2xmlout-cpu-host-passthrough-features.xml | 2 +- .../qemuxml2xmlout-cpu-kvmclock.xml | 2 +- .../qemuxml2xmlout-graphics-spice-timeout.xml | 2 +- tests/qemuxml2xmltest.c | 8 + tests/testutilsqemu.c | 48 ++--- 56 files changed, 1039 insertions(+), 167 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-none.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-none.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-none2.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-none2.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-partial.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-partial.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-partial2.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-default-partial2.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-full.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-full.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-none.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-none.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-partial.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-check-partial.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-default-none.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-default-none2.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-default-partial.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-default-partial2.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-full.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-none.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-check-partial.xml