[libvirt] [PATCH 5/5] qemu: Fix KVM features with QEMU 4.1

Jiri Denemark jdenemar at redhat.com
Fri Jul 26 15:30:56 UTC 2019


Originally the names of the KVM CPU features were only used internally
for looking up their CPUID bits. So we used "__kvm_" prefix for them to
make sure the names do not collide with normal CPU features stored in
our CPU map.

But with QEMU 4.1 we check which features were enabled or disabled by a
freshly started QEMU process using their names rather than their CPUID
bits (mostly because of MSR features). Thus we need to change our made
up internal names into the actual names used by QEMU.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/cpu/cpu_x86_data.h  | 2 +-
 src/qemu/qemu_command.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/cpu/cpu_x86_data.h b/src/cpu/cpu_x86_data.h
index 2607dd96b1..cc0c93dff0 100644
--- a/src/cpu/cpu_x86_data.h
+++ b/src/cpu/cpu_x86_data.h
@@ -43,7 +43,7 @@ struct _virCPUx86MSR {
 #define CPUX86_KVM      0x40000000
 #define CPUX86_EXTENDED 0x80000000
 
-#define VIR_CPU_x86_KVM_PV_UNHALT    "__kvm_pv_unhalt"
+#define VIR_CPU_x86_KVM_PV_UNHALT   "kvm_pv_unhalt"
 
 /*
  * The following HyperV feature names suffixes must exactly match corresponding
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 7b2cfa0683..fee51158a9 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7146,7 +7146,7 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
     }
 
     if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK]) {
-        qemuBuildCpuFeature(qemuCaps, &buf, "kvm_pv_unhalt",
+        qemuBuildCpuFeature(qemuCaps, &buf, VIR_CPU_x86_KVM_PV_UNHALT,
                             def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] == VIR_TRISTATE_SWITCH_ON);
     }
 
-- 
2.22.0




More information about the libvir-list mailing list