Blame SOURCES/kvm-target-i386-deprecate-CPUs-older-than-x86_64-v2-ABI.patch

29b115
From 577b04770e47aed0f88acb4a415ed04ddbe087f1 Mon Sep 17 00:00:00 2001
29b115
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
29b115
Date: Thu, 17 Mar 2022 17:59:22 +0000
29b115
Subject: [PATCH 04/18] target/i386: deprecate CPUs older than x86_64-v2 ABI
29b115
MIME-Version: 1.0
29b115
Content-Type: text/plain; charset=UTF-8
29b115
Content-Transfer-Encoding: 8bit
29b115
29b115
RH-Author: Daniel P. Berrangé <berrange@redhat.com>
29b115
RH-MergeRequest: 94: i386, aarch64, s390x: deprecate many named CPU models
29b115
RH-Commit: [4/6] 71f6043f11b31ffa841a2e14d24972e571c18a9e (berrange/centos-src-qemu)
29b115
RH-Bugzilla: 2060839
29b115
RH-Acked-by: Thomas Huth <thuth@redhat.com>
29b115
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
29b115
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
29b115
29b115
RHEL-9 is compiled with the x86_64-v2 ABI. We use this as a baseline to
29b115
select which CPUs we want to support, such that there is at least one
29b115
supported guest CPU that can be launched for every physical machine
29b115
capable of running RHEL-9 KVM.
29b115
29b115
Supported CPUs:
29b115
29b115
 * QEMU models
29b115
29b115
      base                     (QEMU internal)
29b115
      host                     (host passthrough)
29b115
      max                      (host passthrough for KVM,
29b115
                                all emulated features for TCG)
29b115
29b115
 * Intel models
29b115
29b115
      Icelake-Server
29b115
      Icelake-Server-noTSX
29b115
      Cascadelake-Server        (2019)
29b115
      Cascadelake-Server-noTSX  (2019)
29b115
      Skylake-Server            (2016)
29b115
      Skylake-Server-IBRS       (2016)
29b115
      Skylake-Server-noTSX-IBRS (2016)
29b115
      Skylake-Client            (2015)
29b115
      Skylake-Client-IBRS       (2015)
29b115
      Skylake-Client-noTSX-IBRS (2015)
29b115
      Broadwell                 (2014)
29b115
      Broadwell-IBRS            (2014)
29b115
      Broadwell-noTSX           (2014)
29b115
      Broadwell-noTSX-IBRS      (2014)
29b115
      Haswell                   (2013)
29b115
      Haswell-IBRS              (2013)
29b115
      Haswell-noTSX             (2013)
29b115
      Haswell-noTSX-IBRS        (2013)
29b115
      IvyBridge                 (2012)
29b115
      IvyBridge-IBRS            (2012)
29b115
      SandyBridge               (2011)
29b115
      SandyBridge-IBRS          (2011)
29b115
      Westmere                  (2010)
29b115
      Westmere-IBRS             (2010)
29b115
      Nehalem                   (2008)
29b115
      Nehalem-IBRS              (2008)
29b115
29b115
      Cooperlake                (2020)
29b115
      Snowridge                 (2019)
29b115
      KnightsMill               (2017)
29b115
      Denverton                 (2016)
29b115
29b115
 * AMD models
29b115
29b115
      EPYC-Milan                (2021)
29b115
      EPYC-Rome                 (2019)
29b115
      EPYC                      (2017)
29b115
      EPYC-IBPB                 (2017)
29b115
      Opteron_G5                (2012)
29b115
      Opteron_G4                (2011)
29b115
29b115
  * Other
29b115
29b115
      Dhyana                    (2018)
29b115
29b115
(I've omitted the many -vNNN versions for brevity)
29b115
29b115
Deprecated CPUs:
29b115
29b115
      486
29b115
      athlon
29b115
      Conroe
29b115
      core2duo
29b115
      coreduo
29b115
      Icelake-Client       (already deprecated upstream)
29b115
      Icelake-Client-noTSX (already deprecated upstream)
29b115
      kvm32
29b115
      kvm64
29b115
      n270
29b115
      Opteron_G1
29b115
      Opteron_G2
29b115
      Opteron_G3
29b115
      Penryn
29b115
      pentium2
29b115
      pentium3
29b115
      pentium
29b115
      phenom
29b115
      qemu32
29b115
      qemu64
29b115
29b115
The deprecated CPU models are subject to removal in a future
29b115
major version of RHEL.
29b115
29b115
Note: this has the effect of deprecating the default built-in CPU
29b115
model 'qemu64'. Applications using QEMU are expected to make an
29b115
explicit choice about which CPU model they want, since no builtin
29b115
default can suit all purposes.
29b115
29b115
https://bugzilla.redhat.com/show_bug.cgi?id=2060839
29b115
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
29b115
---
29b115
 target/i386/cpu.c | 21 +++++++++++++++++++++
29b115
 1 file changed, 21 insertions(+)
29b115
29b115
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
29b115
index cb6b5467d0..87cb641b5f 100644
29b115
--- a/target/i386/cpu.c
29b115
+++ b/target/i386/cpu.c
29b115
@@ -1780,9 +1780,13 @@ static const CPUCaches epyc_milan_cache_info = {
29b115
  *  PT in VMX operation
29b115
  */
29b115
 
29b115
+#define RHEL_CPU_DEPRECATION \
29b115
+    "use at least 'Nehalem' / 'Opteron_G4', or 'host' / 'max'"
29b115
+
29b115
 static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     {
29b115
         .name = "qemu64",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 0xd,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 15,
29b115
@@ -1803,6 +1807,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "phenom",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 5,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 16,
29b115
@@ -1835,6 +1840,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "core2duo",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 10,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -1877,6 +1883,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "kvm64",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 0xd,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 15,
29b115
@@ -1918,6 +1925,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "qemu32",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 4,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -1932,6 +1940,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "kvm32",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 5,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 15,
29b115
@@ -1962,6 +1971,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "coreduo",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 10,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -1995,6 +2005,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "486",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 1,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 4,
29b115
@@ -2007,6 +2018,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "pentium",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 1,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 5,
29b115
@@ -2019,6 +2031,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "pentium2",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 2,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -2031,6 +2044,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "pentium3",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 3,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -2043,6 +2057,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "athlon",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 2,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 6,
29b115
@@ -2058,6 +2073,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "n270",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 10,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -2083,6 +2099,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "Conroe",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 10,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -2123,6 +2140,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "Penryn",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 10,
29b115
         .vendor = CPUID_VENDOR_INTEL,
29b115
         .family = 6,
29b115
@@ -3832,6 +3850,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "Opteron_G1",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 5,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 15,
29b115
@@ -3852,6 +3871,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "Opteron_G2",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 5,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 15,
29b115
@@ -3874,6 +3894,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
29b115
     },
29b115
     {
29b115
         .name = "Opteron_G3",
29b115
+        .deprecation_note = RHEL_CPU_DEPRECATION,
29b115
         .level = 5,
29b115
         .vendor = CPUID_VENDOR_AMD,
29b115
         .family = 16,
29b115
-- 
29b115
2.35.3
29b115