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

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