This series fixes a regression in libvirt which would break domains with
a CPU defined as, for example:
<cpu mode='host-model'>
<feature name='invtsc' policy='require'/>
</cpu>
Such domains would work just fine with libvirt <= 3.1.0 or QEMU < 2.9.0,
but they would be broken with current libvirt and QEMU >= 2.9.0.
This is because we started asking QEMU for CPU features supported by the
host CPU, by which we think all non-migratable features are not
supported because QEMU filters them out by default.
This series changes our code to properly detect even non-migratable
features, but still leaves the piece which relies on our cpu_map.xml to
filter them when someone asks for just <cpu mode='host-model'/>. Patches
which will use the data provided by QEMU instead of our static database
in cpu_map.xml will be sent soon, since they are not required to fix the
regression.
Jiri Denemark (3):
qemuMonitorCPUModelInfo: Add support for non-migratable features
qemu: Check migratable host CPU features
qemu: Check non-migratable host CPU features
src/qemu/qemu_capabilities.c | 96 ++-
src/qemu/qemu_monitor.c | 9 +-
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 11 +
src/qemu/qemu_monitor_json.h | 3 +-
tests/cputest.c | 2 +-
tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 8 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 840 +++++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 368 ++++-----
11 files changed, 1148 insertions(+), 195 deletions(-)
--
2.12.2