Pablo Greco 40546a
From 3ad9cd82d4fe7e87665a0233662712725f5d3d5d Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <3ad9cd82d4fe7e87665a0233662712725f5d3d5d@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 7 Feb 2020 10:41:44 +0100
Pablo Greco 40546a
Subject: [PATCH] cpu: Drop unused KVM features
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
Most of the internally defined KVM CPUID features are not actually used
Pablo Greco 40546a
by libvirt. The QEMU driver may enable or disable them on the command
Pablo Greco 40546a
line, but we don't check for the associated CPU properties or CPUID
Pablo Greco 40546a
bits. They would be useless with QEMU 4.1 anyway since their names were
Pablo Greco 40546a
only remotely similar to the actual feature names.
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 9e6172937f8d8f832359dd5eeb4e7c92f9defcbf)
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: <763f5d57b6cb930d9edbfbe8edbb7d5797a48150.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.c      | 24 ------------------------
Pablo Greco 40546a
 src/cpu/cpu_x86_data.h |  8 --------
Pablo Greco 40546a
 2 files changed, 32 deletions(-)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
Pablo Greco 40546a
index ecf11926b4..0459a0d1c8 100644
Pablo Greco 40546a
--- a/src/cpu/cpu_x86.c
Pablo Greco 40546a
+++ b/src/cpu/cpu_x86.c
Pablo Greco 40546a
@@ -77,24 +77,8 @@ struct _virCPUx86Feature {
Pablo Greco 40546a
         } \
Pablo Greco 40546a
     }
Pablo Greco 40546a
 
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_CLOCKSOURCE,
Pablo Greco 40546a
-                0x40000001, 0x00000001);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_NOP_IO_DELAY,
Pablo Greco 40546a
-                0x40000001, 0x00000002);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_MMU_OP,
Pablo Greco 40546a
-                0x40000001, 0x00000004);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_CLOCKSOURCE2,
Pablo Greco 40546a
-                0x40000001, 0x00000008);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_ASYNC_PF,
Pablo Greco 40546a
-                0x40000001, 0x00000010);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_STEAL_TIME,
Pablo Greco 40546a
-                0x40000001, 0x00000020);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_PV_EOI,
Pablo Greco 40546a
-                0x40000001, 0x00000040);
Pablo Greco 40546a
 KVM_FEATURE_DEF(VIR_CPU_x86_KVM_PV_UNHALT,
Pablo Greco 40546a
                 0x40000001, 0x00000080);
Pablo Greco 40546a
-KVM_FEATURE_DEF(VIR_CPU_x86_KVM_CLOCKSOURCE_STABLE_BIT,
Pablo Greco 40546a
-                0x40000001, 0x01000000);
Pablo Greco 40546a
 
Pablo Greco 40546a
 KVM_FEATURE_DEF(VIR_CPU_x86_HV_RUNTIME,
Pablo Greco 40546a
                 0x40000003, 0x00000001);
Pablo Greco 40546a
@@ -121,15 +105,7 @@ KVM_FEATURE_DEF(VIR_CPU_x86_HV_TLBFLUSH,
Pablo Greco 40546a
 
Pablo Greco 40546a
 static virCPUx86Feature x86_kvm_features[] =
Pablo Greco 40546a
 {
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_CLOCKSOURCE),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_NOP_IO_DELAY),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_MMU_OP),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_CLOCKSOURCE2),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_ASYNC_PF),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_STEAL_TIME),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_PV_EOI),
Pablo Greco 40546a
     KVM_FEATURE(VIR_CPU_x86_KVM_PV_UNHALT),
Pablo Greco 40546a
-    KVM_FEATURE(VIR_CPU_x86_KVM_CLOCKSOURCE_STABLE_BIT),
Pablo Greco 40546a
     KVM_FEATURE(VIR_CPU_x86_HV_RUNTIME),
Pablo Greco 40546a
     KVM_FEATURE(VIR_CPU_x86_HV_SYNIC),
Pablo Greco 40546a
     KVM_FEATURE(VIR_CPU_x86_HV_STIMER),
Pablo Greco 40546a
diff --git a/src/cpu/cpu_x86_data.h b/src/cpu/cpu_x86_data.h
Pablo Greco 40546a
index 9668b13eb9..8a189f854e 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,15 +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_CLOCKSOURCE  "__kvm_clocksource"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_NOP_IO_DELAY "__kvm_no_io_delay"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_MMU_OP       "__kvm_mmu_op"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_CLOCKSOURCE2 "__kvm_clocksource2"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_ASYNC_PF     "__kvm_async_pf"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_STEAL_TIME   "__kvm_steal_time"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_PV_EOI       "__kvm_pv_eoi"
Pablo Greco 40546a
 # define VIR_CPU_x86_KVM_PV_UNHALT    "__kvm_pv_unhalt"
Pablo Greco 40546a
-# define VIR_CPU_x86_KVM_CLOCKSOURCE_STABLE_BIT "__kvm_clocksource_stable"
Pablo Greco 40546a
 
Pablo Greco 40546a
 /*
Pablo Greco 40546a
  * The following HyperV feature names suffixes must exactly match corresponding
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.25.0
Pablo Greco 40546a