QEMU 2.8.0 adds support for unavailable-features in
query-cpu-definitions reply. The unavailable-features array lists CPU
features which prevent a corresponding CPU model from being usable on
current host. It can only be used when all the unavailable features are
disabled. Empty array means the CPU model can be used without
modifications.
Changes in v2:
- many; the way we probe QEMU was rewritten so that we probe both KVM
and TCG capabilities and store them separately whenever we expect them
to be different
Big thanks to Andrea Bolognani for providing the updated replies data
from aarch64 and ppc64le machines.
Jiri Denemark (31):
qemu: Make QMP probing process reusable
qemu: Use -machine when probing capabilities via QMP
qemu: Probe KVM state earlier
qemucapsprobe: Ignore all greetings except the first one
qemu: Enable KVM when probing capabilities
qemu: Discard caps cache when KVM availability changes
qemu: Use saner defaults for domain capabilities
qemu: Don't return unusable virttype in domain capabilities
qemu: Refactor virQEMUCapsCacheLookup
qemu: Refresh caps in virQEMUCapsCacheLookupByArch
qemu: Introduce virQEMUCapsLoadCPUModels
qemu: Introduce virQEMUCapsFormatCPUModels
qemu: Probe CPU models for KVM and TCG
tests: Update capabilities for QEMU 1.2.2
tests: Update capabilities for QEMU 1.3.1
tests: Update capabilities for QEMU 1.4.2
tests: Update capabilities for QEMU 1.5.3
tests: Update capabilities for QEMU 1.6.0
tests: Update capabilities for QEMU 1.7.0
tests: Update capabilities for QEMU 2.1.1
tests: Update capabilities for QEMU 2.4.0
tests: Update capabilities for QEMU 2.5.0
tests: Update capabilities for QEMU 2.6.0
tests: Update capabilities for QEMU 2.6.0 (aarch64, GICv2)
qemu: Avoid reporting "host" as a supported CPU model
tests: Update capabilities for QEMU 2.6.0 (aarch64, GICv3)
tests: Update capabilities for QEMU 2.6.0 (ppc64le)
tests: Update capabilities for QEMU 2.7.0
tests: Add QEMU 2.8.0 capabilities data
tests: Add QEMU 2.8.0 domain capabilities tests
qemu: Add support for unavailable-features
src/conf/domain_capabilities.c | 6 +-
src/conf/domain_capabilities.h | 3 +-
src/qemu/qemu_capabilities.c | 684 +-
src/qemu/qemu_capabilities.h | 15 +-
src/qemu/qemu_capspriv.h | 8 +
src/qemu/qemu_driver.c | 27 +-
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 18 +
src/qemu/qemu_process.c | 3 +-
tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml | 1 +
.../domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml | 116 +
tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml | 116 +
tests/domaincapstest.c | 8 +
.../qemucapabilitiesdata/caps_1.2.2.x86_64.replies | 216 +-
tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 68 +-
.../qemucapabilitiesdata/caps_1.3.1.x86_64.replies | 172 +-
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 74 +-
.../qemucapabilitiesdata/caps_1.4.2.x86_64.replies | 170 +-
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 74 +-
.../qemucapabilitiesdata/caps_1.5.3.x86_64.replies | 170 +-
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 74 +-
.../qemucapabilitiesdata/caps_1.6.0.x86_64.replies | 170 +-
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 74 +-
.../qemucapabilitiesdata/caps_1.7.0.x86_64.replies | 170 +-
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 74 +-
.../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 173 +-
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 77 +-
.../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 182 +-
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 86 +-
.../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 182 +-
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 86 +-
.../caps_2.6.0-gicv2.aarch64.replies | 194 +-
.../caps_2.6.0-gicv2.aarch64.xml | 93 +-
.../caps_2.6.0-gicv3.aarch64.replies | 207 +-
.../caps_2.6.0-gicv3.aarch64.xml | 95 +-
.../caps_2.6.0.ppc64le.replies | 1406 +-
tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 1296 +-
.../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 182 +-
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 86 +-
.../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 185 +-
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 89 +-
.../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 14246 +++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 293 +
tests/qemucapabilitiestest.c | 6 +
tests/qemucapsprobemock.c | 9 +-
tests/qemumonitorjsontest.c | 27 +-
tests/qemuxml2argvtest.c | 39 +-
47 files changed, 20114 insertions(+), 1637 deletions(-)
create mode 100644 tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
--
2.10.2