As promised in v1 this series contains a few additional patches which
limit usage of MSR features to QEMU that supports "unavailable-features"
CPU property.
This series intentionally enables MSR features for all QEMU versions
before restricting the usage to make this restriction more visible in
the test results.
Version 2:
- all but 2 patches from version 1 were pushed
- 5 new patches
Jiri Denemark (7):
conf: Introduce virCPUDefCheckFeatures
cpu_x86: Turn virCPUx86DataIteratorInit into a function
cpu_x86: Introduce virCPUx86FeatureIsMSR
cpu_x86: Read CPU features from IA32_ARCH_CAPABILITIES MSR
cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features
qemu: Forbid MSR features with old QEMU
qemu: Drop MSR features from host-model with old QEMU
src/conf/cpu_conf.c | 33 +++++++
src/conf/cpu_conf.h | 6 ++
src/cpu/cpu_x86.c | 96 +++++++++++++++++--
src/cpu/cpu_x86.h | 3 +
src/cpu_map/x86_features.xml | 20 ++++
src/libvirt_private.syms | 2 +
src/qemu/qemu_capabilities.c | 16 ++++
src/qemu/qemu_process.c | 29 +++++-
.../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-json.xml | 1 +
...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 4 +
.../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 4 +
.../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 3 +
.../qemu_4.1.0.x86_64.xml | 1 +
15 files changed, 207 insertions(+), 13 deletions(-)
--
2.22.0