render / rpms / libvirt

Forked from rpms/libvirt 7 months ago
Clone
Pablo Greco 40546a
From b77f7c1c1424a758295105b92c5f95ff82d54904 Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <b77f7c1c1424a758295105b92c5f95ff82d54904@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 7 Feb 2020 10:41:45 +0100
Pablo Greco 40546a
Subject: [PATCH] qemu: Fix KVM features with QEMU 4.1
Pablo Greco 40546a
MIME-Version: 1.0
Pablo Greco 40546a
Content-Type: text/plain; charset=UTF-8
Pablo Greco 40546a
Content-Transfer-Encoding: 8bit
Pablo Greco 40546a
Pablo Greco 40546a
Originally the names of the KVM CPU features were only used internally
Pablo Greco 40546a
for looking up their CPUID bits. So we used "__kvm_" prefix for them to
Pablo Greco 40546a
make sure the names do not collide with normal CPU features stored in
Pablo Greco 40546a
our CPU map.
Pablo Greco 40546a
Pablo Greco 40546a
But with QEMU 4.1 we check which features were enabled or disabled by a
Pablo Greco 40546a
freshly started QEMU process using their names rather than their CPUID
Pablo Greco 40546a
bits (mostly because of MSR features). Thus we need to change our made
Pablo Greco 40546a
up internal names into the actual names used by QEMU.
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
(cherry picked from commit 4c62ed606895018aaf9f9f1d2137fcea3918756a)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1794868
Pablo Greco 40546a
Pablo Greco 40546a
Conflicts:
Pablo Greco 40546a
	src/cpu/cpu_x86_data.h
Pablo Greco 40546a
            - all defines are indented as downstream lacks #pragma once
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Message-Id: <c565def49ee0f02b19d58717383661a277b770f0.1581064395.git.jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 src/cpu/cpu_x86_data.h  | 2 +-
Pablo Greco 40546a
 src/qemu/qemu_command.c | 2 +-
Pablo Greco 40546a
 2 files changed, 2 insertions(+), 2 deletions(-)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/cpu/cpu_x86_data.h b/src/cpu/cpu_x86_data.h
Pablo Greco 40546a
index 8a189f854e..0087fd2f85 100644
Pablo Greco 40546a
--- a/src/cpu/cpu_x86_data.h
Pablo Greco 40546a
+++ b/src/cpu/cpu_x86_data.h
Pablo Greco 40546a
@@ -49,7 +49,7 @@ struct _virCPUx86MSR {
Pablo Greco 40546a
 # define CPUX86_KVM      0x40000000
Pablo Greco 40546a
 # define CPUX86_EXTENDED 0x80000000
Pablo Greco 40546a
 
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_PV_UNHALT    "__kvm_pv_unhalt"
Pablo Greco 40546a
+# define VIR_CPU_x86_KVM_PV_UNHALT  "kvm_pv_unhalt"
Pablo Greco 40546a
 
Pablo Greco 40546a
 /*
Pablo Greco 40546a
  * The following HyperV feature names suffixes must exactly match corresponding
Pablo Greco 40546a
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
Pablo Greco 40546a
index 71e102747c..a411d214df 100644
Pablo Greco 40546a
--- a/src/qemu/qemu_command.c
Pablo Greco 40546a
+++ b/src/qemu/qemu_command.c
Pablo Greco 40546a
@@ -7008,7 +7008,7 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
Pablo Greco 40546a
     }
Pablo Greco 40546a
 
Pablo Greco 40546a
     if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK]) {
Pablo Greco 40546a
-        qemuBuildCpuFeature(qemuCaps, &buf, "kvm_pv_unhalt",
Pablo Greco 40546a
+        qemuBuildCpuFeature(qemuCaps, &buf, VIR_CPU_x86_KVM_PV_UNHALT,
Pablo Greco 40546a
                             def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] == VIR_TRISTATE_SWITCH_ON);
Pablo Greco 40546a
     }
Pablo Greco 40546a
 
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.25.0
Pablo Greco 40546a