da38d5c28e
- kvm-tests-avocado-update-aarch64_virt-test-to-exercise-c.patch [bz#2060839] - kvm-RHEL-only-tests-avocado-Switch-aarch64-tests-from-a5.patch [bz#2060839] - kvm-RHEL-only-AArch64-Drop-unsupported-CPU-types.patch [bz#2060839] - kvm-target-i386-deprecate-CPUs-older-than-x86_64-v2-ABI.patch [bz#2060839] - kvm-target-s390x-deprecate-CPUs-older-than-z14.patch [bz#2060839] - kvm-target-arm-deprecate-named-CPU-models.patch [bz#2060839] - kvm-meson.build-Fix-docker-test-build-alpine-when-includ.patch [bz#1968509] - kvm-QIOChannel-Add-flags-on-io_writev-and-introduce-io_f.patch [bz#1968509] - kvm-QIOChannelSocket-Implement-io_writev-zero-copy-flag-.patch [bz#1968509] - kvm-migration-Add-zero-copy-send-parameter-for-QMP-HMP-f.patch [bz#1968509] - kvm-migration-Add-migrate_use_tls-helper.patch [bz#1968509] - kvm-multifd-multifd_send_sync_main-now-returns-negative-.patch [bz#1968509] - kvm-multifd-Send-header-packet-without-flags-if-zero-cop.patch [bz#1968509] - kvm-multifd-Implement-zero-copy-write-in-multifd-migrati.patch [bz#1968509] - kvm-QIOChannelSocket-Introduce-assert-and-reduce-ifdefs-.patch [bz#1968509] - kvm-QIOChannelSocket-Fix-zero-copy-send-so-socket-flush-.patch [bz#1968509] - kvm-migration-Change-zero_copy_send-from-migration-param.patch [bz#1968509] - kvm-migration-Allow-migrate-recover-to-run-multiple-time.patch [bz#2096143] - Resolves: bz#2060839 (Consider deprecating CPU models like "kvm64" / "qemu64" on RHEL 9) - Resolves: bz#1968509 (Use MSG_ZEROCOPY on QEMU Live Migration) - Resolves: bz#2096143 (The migration port is not released if use it again for recovering postcopy migration)
195 lines
5.4 KiB
Diff
195 lines
5.4 KiB
Diff
From 8459c305914e2a7a19dcd1662d54a89def7acfa6 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
|
|
Date: Thu, 17 Mar 2022 17:59:22 +0000
|
|
Subject: [PATCH 05/18] target/s390x: deprecate CPUs older than z14
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
RH-Author: Daniel P. Berrangé <berrange@redhat.com>
|
|
RH-MergeRequest: 94: i386, aarch64, s390x: deprecate many named CPU models
|
|
RH-Commit: [5/6] 2da9e06cf452287673f94f880a7eb8b2b37b7278 (berrange/centos-src-qemu)
|
|
RH-Bugzilla: 2060839
|
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
|
|
|
RHEL-9 is compiled with the z14 ABI. We use this as a baseline to
|
|
select which CPUs we want to support, such that there is at least one
|
|
supported guest CPU that can be launched for every physical
|
|
machine capable of running RHEL-9 KVM.
|
|
|
|
Supported CPUs:
|
|
|
|
gen15a-base
|
|
gen15a
|
|
gen15b-base
|
|
gen15b
|
|
gen16a-base
|
|
gen16a
|
|
gen16b-base
|
|
gen16b
|
|
max
|
|
qemu
|
|
z14.2-base
|
|
z14.2
|
|
z14-base
|
|
z14
|
|
z14ZR1-base
|
|
z14ZR1
|
|
|
|
Deprecated CPUs:
|
|
|
|
z10BC.2-base
|
|
z10BC.2
|
|
z10BC-base
|
|
z10BC
|
|
z10EC.2-base
|
|
z10EC.2
|
|
z10EC.3-base
|
|
z10EC.3
|
|
z10EC-base
|
|
z10EC
|
|
z114-base
|
|
z114
|
|
z13.2-base
|
|
z13.2
|
|
z13-base
|
|
z13s-base
|
|
z13s
|
|
z13
|
|
z196.2-base
|
|
z196.2
|
|
z196-base
|
|
z196
|
|
z800-base
|
|
z800
|
|
z890.2-base
|
|
z890.2
|
|
z890.3-base
|
|
z890.3
|
|
z890-base
|
|
z890
|
|
z900.2-base
|
|
z900.2
|
|
z900.3-base
|
|
z900.3
|
|
z900-base
|
|
z900
|
|
z990.2-base
|
|
z990.2
|
|
z990.3-base
|
|
z990.3
|
|
z990.4-base
|
|
z990.4
|
|
z990.5-base
|
|
z990.5
|
|
z990-base
|
|
z990
|
|
z9BC.2-base
|
|
z9BC.2
|
|
z9BC-base
|
|
z9BC
|
|
z9EC.2-base
|
|
z9EC.2
|
|
z9EC.3-base
|
|
z9EC.3
|
|
z9EC-base
|
|
z9EC
|
|
zBC12-base
|
|
zBC12
|
|
zEC12.2-base
|
|
zEC12.2
|
|
zEC12-base
|
|
zEC12
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=2060839
|
|
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
---
|
|
target/s390x/cpu_models.c | 11 +++++++++++
|
|
target/s390x/cpu_models.h | 2 ++
|
|
target/s390x/cpu_models_sysemu.c | 2 ++
|
|
3 files changed, 15 insertions(+)
|
|
|
|
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
|
|
index 6d71428056..9b9fc41676 100644
|
|
--- a/target/s390x/cpu_models.c
|
|
+++ b/target/s390x/cpu_models.c
|
|
@@ -45,6 +45,9 @@
|
|
* of a following release have been a superset of the previous release. With
|
|
* generation 15 one base feature and one optional feature have been deprecated.
|
|
*/
|
|
+
|
|
+#define RHEL_CPU_DEPRECATION "use at least 'z14', or 'host' / 'qemu' / 'max'"
|
|
+
|
|
static S390CPUDef s390_cpu_defs[] = {
|
|
CPUDEF_INIT(0x2064, 7, 1, 38, 0x00000000U, "z900", "IBM zSeries 900 GA1"),
|
|
CPUDEF_INIT(0x2064, 7, 2, 38, 0x00000000U, "z900.2", "IBM zSeries 900 GA2"),
|
|
@@ -852,22 +855,30 @@ static void s390_host_cpu_model_class_init(ObjectClass *oc, void *data)
|
|
static void s390_base_cpu_model_class_init(ObjectClass *oc, void *data)
|
|
{
|
|
S390CPUClass *xcc = S390_CPU_CLASS(oc);
|
|
+ CPUClass *cc = CPU_CLASS(oc);
|
|
|
|
/* all base models are migration safe */
|
|
xcc->cpu_def = (const S390CPUDef *) data;
|
|
xcc->is_migration_safe = true;
|
|
xcc->is_static = true;
|
|
xcc->desc = xcc->cpu_def->desc;
|
|
+ if (xcc->cpu_def->gen < 14) {
|
|
+ cc->deprecation_note = RHEL_CPU_DEPRECATION;
|
|
+ }
|
|
}
|
|
|
|
static void s390_cpu_model_class_init(ObjectClass *oc, void *data)
|
|
{
|
|
S390CPUClass *xcc = S390_CPU_CLASS(oc);
|
|
+ CPUClass *cc = CPU_CLASS(oc);
|
|
|
|
/* model that can change between QEMU versions */
|
|
xcc->cpu_def = (const S390CPUDef *) data;
|
|
xcc->is_migration_safe = true;
|
|
xcc->desc = xcc->cpu_def->desc;
|
|
+ if (xcc->cpu_def->gen < 14) {
|
|
+ cc->deprecation_note = RHEL_CPU_DEPRECATION;
|
|
+ }
|
|
}
|
|
|
|
static void s390_qemu_cpu_model_class_init(ObjectClass *oc, void *data)
|
|
diff --git a/target/s390x/cpu_models.h b/target/s390x/cpu_models.h
|
|
index 74d1f87e4f..372160bcd7 100644
|
|
--- a/target/s390x/cpu_models.h
|
|
+++ b/target/s390x/cpu_models.h
|
|
@@ -38,6 +38,8 @@ struct S390CPUDef {
|
|
S390FeatBitmap full_feat;
|
|
/* used to init full_feat from generated data */
|
|
S390FeatInit full_init;
|
|
+ /* if deprecated, provides a suggestion */
|
|
+ const char *deprecation_note;
|
|
};
|
|
|
|
/* CPU model based on a CPU definition */
|
|
diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models_sysemu.c
|
|
index 6a04ccab1b..f3b7c304ec 100644
|
|
--- a/target/s390x/cpu_models_sysemu.c
|
|
+++ b/target/s390x/cpu_models_sysemu.c
|
|
@@ -61,6 +61,7 @@ static void create_cpu_model_list(ObjectClass *klass, void *opaque)
|
|
CpuDefinitionInfo *info;
|
|
char *name = g_strdup(object_class_get_name(klass));
|
|
S390CPUClass *scc = S390_CPU_CLASS(klass);
|
|
+ CPUClass *cc = CPU_CLASS(klass);
|
|
|
|
/* strip off the -s390x-cpu */
|
|
g_strrstr(name, "-" TYPE_S390_CPU)[0] = 0;
|
|
@@ -70,6 +71,7 @@ static void create_cpu_model_list(ObjectClass *klass, void *opaque)
|
|
info->migration_safe = scc->is_migration_safe;
|
|
info->q_static = scc->is_static;
|
|
info->q_typename = g_strdup(object_class_get_name(klass));
|
|
+ info->deprecated = !!cc->deprecation_note;
|
|
/* check for unavailable features */
|
|
if (cpu_list_data->model) {
|
|
Object *obj;
|
|
--
|
|
2.35.3
|
|
|