* [PATCH 1/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-01-15 7:38 ` [PATCH 2/8] hw/s390x/css: Remove the obsolete "css_migration_enabled" variable Thomas Huth
` (7 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
The s390-ccw-virtio-2.9 machine is older than 6 years, so according to
our machine support policy, it can be removed now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 38aeba14ee..b5635c43c4 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1236,30 +1236,6 @@ static void ccw_machine_2_10_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(2, 10);
-static void ccw_machine_2_9_instance_options(MachineState *machine)
-{
- ccw_machine_2_10_instance_options(machine);
- s390_cpudef_featoff_greater(12, 1, S390_FEAT_ESOP);
- s390_cpudef_featoff_greater(12, 1, S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2);
- s390_cpudef_featoff_greater(12, 1, S390_FEAT_ZPCI);
- s390_cpudef_featoff_greater(12, 1, S390_FEAT_ADAPTER_INT_SUPPRESSION);
- s390_cpudef_featoff_greater(12, 1, S390_FEAT_ADAPTER_EVENT_NOTIFICATION);
- css_migration_enabled = false;
-}
-
-static void ccw_machine_2_9_class_options(MachineClass *mc)
-{
- static GlobalProperty compat[] = {
- { TYPE_S390_STATTRIB, "migration-enabled", "off", },
- { TYPE_S390_FLIC_COMMON, "migration-enabled", "off", },
- };
-
- ccw_machine_2_10_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len);
- compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
-}
-DEFINE_CCW_MACHINE(2, 9);
-
#endif
static void ccw_machine_register_types(void)
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/8] hw/s390x/css: Remove the obsolete "css_migration_enabled" variable
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
2025-01-15 7:38 ` [PATCH 1/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-01-15 8:54 ` Philippe Mathieu-Daudé
2025-01-15 7:38 ` [PATCH 3/8] hw/s390x/s390-stattrib: Remove the old migration_enabled flag Thomas Huth
` (6 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
Now that the s390-ccw-virtio-2.9 machine type has been removed, we
don't need the "css_migration_enabled" variable anymore and can remove
the related code.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/css.h | 6 ------
hw/s390x/css.c | 31 +------------------------------
2 files changed, 1 insertion(+), 36 deletions(-)
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
index cd97e2b707..dbf919bdd2 100644
--- a/include/hw/s390x/css.h
+++ b/include/hw/s390x/css.h
@@ -333,10 +333,4 @@ static inline int ccw_dstream_read_buf(CcwDataStream *cds, void *buff, int len)
#define ccw_dstream_read(cds, v) ccw_dstream_read_buf((cds), &(v), sizeof(v))
#define ccw_dstream_write(cds, v) ccw_dstream_write_buf((cds), &(v), sizeof(v))
-/**
- * true if (vmstate based) migration of the channel subsystem
- * is enabled, false if it is disabled.
- */
-extern bool css_migration_enabled;
-
#endif
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 4e27b2961b..d0680625ca 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -23,8 +23,6 @@
#include "hw/s390x/s390-virtio-ccw.h"
#include "hw/s390x/s390-ccw.h"
-bool css_migration_enabled = true;
-
typedef struct CrwContainer {
CRW crw;
QTAILQ_ENTRY(CrwContainer) sibling;
@@ -180,16 +178,10 @@ static const VMStateDescription vmstate_orb = {
}
};
-static bool vmstate_schdev_orb_needed(void *opaque)
-{
- return css_migration_enabled;
-}
-
static const VMStateDescription vmstate_schdev_orb = {
.name = "s390_subch_dev/orb",
.version_id = 1,
.minimum_version_id = 1,
- .needed = vmstate_schdev_orb_needed,
.fields = (const VMStateField[]) {
VMSTATE_STRUCT(orb, SubchDev, 1, vmstate_orb, ORB),
VMSTATE_END_OF_LIST()
@@ -390,33 +382,12 @@ static int subch_dev_post_load(void *opaque, int version_id)
css_subch_assign(s->cssid, s->ssid, s->schid, s->devno, s);
}
- if (css_migration_enabled) {
- /* No compat voodoo to do ;) */
- return 0;
- }
- /*
- * Hack alert. If we don't migrate the channel subsystem status
- * we still need to find out if the guest enabled mss/mcss-e.
- * If the subchannel is enabled, it certainly was able to access it,
- * so adjust the max_ssid/max_cssid values for relevant ssid/cssid
- * values. This is not watertight, but better than nothing.
- */
- if (s->curr_status.pmcw.flags & PMCW_FLAGS_MASK_ENA) {
- if (s->ssid) {
- channel_subsys.max_ssid = MAX_SSID;
- }
- if (s->cssid != channel_subsys.default_cssid) {
- channel_subsys.max_cssid = MAX_CSSID;
- }
- }
return 0;
}
void css_register_vmstate(void)
{
- if (css_migration_enabled) {
- vmstate_register(NULL, 0, &vmstate_css, &channel_subsys);
- }
+ vmstate_register(NULL, 0, &vmstate_css, &channel_subsys);
}
IndAddr *get_indicator(hwaddr ind_addr, int len)
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 2/8] hw/s390x/css: Remove the obsolete "css_migration_enabled" variable
2025-01-15 7:38 ` [PATCH 2/8] hw/s390x/css: Remove the obsolete "css_migration_enabled" variable Thomas Huth
@ 2025-01-15 8:54 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 8:54 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> Now that the s390-ccw-virtio-2.9 machine type has been removed, we
> don't need the "css_migration_enabled" variable anymore and can remove
> the related code.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> include/hw/s390x/css.h | 6 ------
> hw/s390x/css.c | 31 +------------------------------
> 2 files changed, 1 insertion(+), 36 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/8] hw/s390x/s390-stattrib: Remove the old migration_enabled flag
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
2025-01-15 7:38 ` [PATCH 1/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type Thomas Huth
2025-01-15 7:38 ` [PATCH 2/8] hw/s390x/css: Remove the obsolete "css_migration_enabled" variable Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-01-15 8:59 ` Philippe Mathieu-Daudé
2025-01-15 7:38 ` [PATCH 4/8] hw/intc/s390_flic: Remove the obsolete " Thomas Huth
` (5 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
Now that the machine types that set the migration_enabled flag to
false are gone, we can remove it and the related code.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/storage-attributes.h | 1 -
hw/s390x/s390-stattrib-kvm.c | 2 +-
hw/s390x/s390-stattrib.c | 7 +------
3 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/include/hw/s390x/storage-attributes.h b/include/hw/s390x/storage-attributes.h
index 8921a04d51..b5c6d8fa55 100644
--- a/include/hw/s390x/storage-attributes.h
+++ b/include/hw/s390x/storage-attributes.h
@@ -25,7 +25,6 @@ OBJECT_DECLARE_TYPE(S390StAttribState, S390StAttribClass, S390_STATTRIB)
struct S390StAttribState {
DeviceState parent_obj;
uint64_t migration_cur_gfn;
- bool migration_enabled;
};
diff --git a/hw/s390x/s390-stattrib-kvm.c b/hw/s390x/s390-stattrib-kvm.c
index 2a8e31718b..d0ff04364d 100644
--- a/hw/s390x/s390-stattrib-kvm.c
+++ b/hw/s390x/s390-stattrib-kvm.c
@@ -185,7 +185,7 @@ static long long kvm_s390_stattrib_get_dirtycount(S390StAttribState *sa)
static int kvm_s390_stattrib_get_active(S390StAttribState *sa)
{
- return kvm_s390_cmma_active() && sa->migration_enabled;
+ return kvm_s390_cmma_active();
}
static void kvm_s390_stattrib_class_init(ObjectClass *oc, void *data)
diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
index 8e07acbddc..d720f05cce 100644
--- a/hw/s390x/s390-stattrib.c
+++ b/hw/s390x/s390-stattrib.c
@@ -304,7 +304,7 @@ static int qemu_s390_set_migrationmode_stub(S390StAttribState *sa, bool value,
static int qemu_s390_get_active(S390StAttribState *sa)
{
- return sa->migration_enabled;
+ return true;
}
static void qemu_s390_stattrib_class_init(ObjectClass *oc, void *data)
@@ -360,10 +360,6 @@ static void s390_stattrib_realize(DeviceState *dev, Error **errp)
&savevm_s390_stattrib_handlers, dev);
}
-static const Property s390_stattrib_props[] = {
- DEFINE_PROP_BOOL("migration-enabled", S390StAttribState, migration_enabled, true),
-};
-
static void s390_stattrib_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
@@ -371,7 +367,6 @@ static void s390_stattrib_class_init(ObjectClass *oc, void *data)
dc->hotpluggable = false;
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
dc->realize = s390_stattrib_realize;
- device_class_set_props(dc, s390_stattrib_props);
}
static void s390_stattrib_instance_init(Object *obj)
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 3/8] hw/s390x/s390-stattrib: Remove the old migration_enabled flag
2025-01-15 7:38 ` [PATCH 3/8] hw/s390x/s390-stattrib: Remove the old migration_enabled flag Thomas Huth
@ 2025-01-15 8:59 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 8:59 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> Now that the machine types that set the migration_enabled flag to
> false are gone, we can remove it and the related code.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> include/hw/s390x/storage-attributes.h | 1 -
> hw/s390x/s390-stattrib-kvm.c | 2 +-
> hw/s390x/s390-stattrib.c | 7 +------
> 3 files changed, 2 insertions(+), 8 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 4/8] hw/intc/s390_flic: Remove the obsolete migration_enabled flag
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (2 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 3/8] hw/s390x/s390-stattrib: Remove the old migration_enabled flag Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-01-15 9:01 ` Philippe Mathieu-Daudé
2025-01-15 7:38 ` [PATCH 5/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine types Thomas Huth
` (4 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
Now that the machine types that set the migration_enabled flag to
false are gone, we can remove it and the related code.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/s390_flic.h | 1 -
hw/intc/s390_flic.c | 14 --------------
2 files changed, 15 deletions(-)
diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h
index 85016d5ccc..91edaaca40 100644
--- a/include/hw/s390x/s390_flic.h
+++ b/include/hw/s390x/s390_flic.h
@@ -42,7 +42,6 @@ OBJECT_DECLARE_TYPE(S390FLICState, S390FLICStateClass,
struct S390FLICState {
SysBusDevice parent_obj;
bool ais_supported;
- bool migration_enabled;
};
diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
index c20f4c1075..4fae023197 100644
--- a/hw/intc/s390_flic.c
+++ b/hw/intc/s390_flic.c
@@ -470,11 +470,6 @@ static void qemu_s390_flic_class_init(ObjectClass *oc, void *data)
fsc->inject_crw_mchk = qemu_s390_inject_crw_mchk;
}
-static const Property s390_flic_common_properties[] = {
- DEFINE_PROP_BOOL("migration-enabled", S390FLICState,
- migration_enabled, true),
-};
-
static void s390_flic_common_realize(DeviceState *dev, Error **errp)
{
S390FLICState *fs = S390_FLIC_COMMON(dev);
@@ -486,7 +481,6 @@ static void s390_flic_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
- device_class_set_props(dc, s390_flic_common_properties);
dc->realize = s390_flic_common_realize;
}
@@ -515,18 +509,10 @@ static void qemu_s390_flic_register_types(void)
type_init(qemu_s390_flic_register_types)
-static bool adapter_info_so_needed(void *opaque)
-{
- S390FLICState *fs = s390_get_flic();
-
- return fs->migration_enabled;
-}
-
const VMStateDescription vmstate_adapter_info_so = {
.name = "s390_adapter_info/summary_offset",
.version_id = 1,
.minimum_version_id = 1,
- .needed = adapter_info_so_needed,
.fields = (const VMStateField[]) {
VMSTATE_UINT32(summary_offset, AdapterInfo),
VMSTATE_END_OF_LIST()
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 4/8] hw/intc/s390_flic: Remove the obsolete migration_enabled flag
2025-01-15 7:38 ` [PATCH 4/8] hw/intc/s390_flic: Remove the obsolete " Thomas Huth
@ 2025-01-15 9:01 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 9:01 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> Now that the machine types that set the migration_enabled flag to
> false are gone, we can remove it and the related code.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> include/hw/s390x/s390_flic.h | 1 -
> hw/intc/s390_flic.c | 14 --------------
> 2 files changed, 15 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 5/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine types
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (3 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 4/8] hw/intc/s390_flic: Remove the obsolete " Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-05-01 22:42 ` Philippe Mathieu-Daudé
2025-01-15 7:38 ` [PATCH 6/8] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
` (3 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
They are older than 6 years, so according to our machine support
policy, they can be removed now.
There was not anything special in the 2.10 machine type, so just remove
it together with the 2.11 machine type. The 2.11 machine type switched
some configuration that needs additional cleanups in the following
patches.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 37 -------------------------------------
1 file changed, 37 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index b5635c43c4..44f8082326 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1201,43 +1201,6 @@ static void ccw_machine_2_12_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(2, 12);
-#ifdef CONFIG_S390X_LEGACY_CPUS
-
-static void ccw_machine_2_11_instance_options(MachineState *machine)
-{
- static const S390FeatInit qemu_cpu_feat = { S390_FEAT_LIST_QEMU_V2_11 };
- ccw_machine_2_12_instance_options(machine);
-
- /* before 2.12 we emulated the very first z900 */
- s390_set_qemu_cpu_model(0x2064, 7, 1, qemu_cpu_feat);
-}
-
-static void ccw_machine_2_11_class_options(MachineClass *mc)
-{
- static GlobalProperty compat[] = {
- { TYPE_SCLP_EVENT_FACILITY, "allow_all_mask_sizes", "off", },
- };
-
- ccw_machine_2_12_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
- compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
-}
-DEFINE_CCW_MACHINE(2, 11);
-
-static void ccw_machine_2_10_instance_options(MachineState *machine)
-{
- ccw_machine_2_11_instance_options(machine);
-}
-
-static void ccw_machine_2_10_class_options(MachineClass *mc)
-{
- ccw_machine_2_11_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_2_10, hw_compat_2_10_len);
-}
-DEFINE_CCW_MACHINE(2, 10);
-
-#endif
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 5/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine types
2025-01-15 7:38 ` [PATCH 5/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine types Thomas Huth
@ 2025-05-01 22:42 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-01 22:42 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> They are older than 6 years, so according to our machine support
> policy, they can be removed now.
>
> There was not anything special in the 2.10 machine type, so just remove
> it together with the 2.11 machine type. The 2.11 machine type switched
> some configuration that needs additional cleanups in the following
> patches.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/s390-virtio-ccw.c | 37 -------------------------------------
> 1 file changed, 37 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 6/8] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (4 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 5/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine types Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-01-15 9:03 ` Philippe Mathieu-Daudé
2025-01-15 7:38 ` [PATCH 7/8] target/s390x/gen-features: Remove the v2.11 qemu CPU model Thomas Huth
` (2 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
Now that the machine types 2.11 and older have been removed, we
don't need the "allow_all_mask_sizes" compatibility handling code
anymore and can remove it now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/event-facility.c | 37 +------------------------------------
1 file changed, 1 insertion(+), 36 deletions(-)
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index 2b0332c20e..76ba688370 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
@@ -45,13 +45,6 @@ struct SCLPEventFacility {
uint32_t receive_mask_pieces[2];
sccb_mask_t receive_mask;
};
- /*
- * when false, we keep the same broken, backwards compatible behaviour as
- * before, allowing only masks of size exactly 4; when true, we implement
- * the architecture correctly, allowing all valid mask sizes. Needed for
- * migration toward older versions.
- */
- bool allow_all_mask_sizes;
/* length of the receive mask */
uint16_t mask_length;
};
@@ -294,8 +287,7 @@ static void write_event_mask(SCLPEventFacility *ef, SCCB *sccb)
uint16_t mask_length = be16_to_cpu(we_mask->mask_length);
sccb_mask_t tmp_mask;
- if (!mask_length || (mask_length > SCLP_EVENT_MASK_LEN_MAX) ||
- ((mask_length != 4) && !ef->allow_all_mask_sizes)) {
+ if (!mask_length || mask_length > SCLP_EVENT_MASK_LEN_MAX) {
sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_MASK_LENGTH);
return;
}
@@ -355,13 +347,6 @@ static bool vmstate_event_facility_mask64_needed(void *opaque)
return (ef->receive_mask & 0xFFFFFFFF) != 0;
}
-static bool vmstate_event_facility_mask_length_needed(void *opaque)
-{
- SCLPEventFacility *ef = opaque;
-
- return ef->allow_all_mask_sizes;
-}
-
static const VMStateDescription vmstate_event_facility_mask64 = {
.name = "vmstate-event-facility/mask64",
.version_id = 0,
@@ -377,7 +362,6 @@ static const VMStateDescription vmstate_event_facility_mask_length = {
.name = "vmstate-event-facility/mask_length",
.version_id = 0,
.minimum_version_id = 0,
- .needed = vmstate_event_facility_mask_length_needed,
.fields = (const VMStateField[]) {
VMSTATE_UINT16(mask_length, SCLPEventFacility),
VMSTATE_END_OF_LIST()
@@ -399,31 +383,12 @@ static const VMStateDescription vmstate_event_facility = {
}
};
-static void sclp_event_set_allow_all_mask_sizes(Object *obj, bool value,
- Error **errp)
-{
- SCLPEventFacility *ef = (SCLPEventFacility *)obj;
-
- ef->allow_all_mask_sizes = value;
-}
-
-static bool sclp_event_get_allow_all_mask_sizes(Object *obj, Error **errp)
-{
- SCLPEventFacility *ef = (SCLPEventFacility *)obj;
-
- return ef->allow_all_mask_sizes;
-}
-
static void init_event_facility(Object *obj)
{
SCLPEventFacility *event_facility = EVENT_FACILITY(obj);
DeviceState *sdev = DEVICE(obj);
event_facility->mask_length = 4;
- event_facility->allow_all_mask_sizes = true;
- object_property_add_bool(obj, "allow_all_mask_sizes",
- sclp_event_get_allow_all_mask_sizes,
- sclp_event_set_allow_all_mask_sizes);
/* Spawn a new bus for SCLP events */
qbus_init(&event_facility->sbus, sizeof(event_facility->sbus),
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 6/8] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code
2025-01-15 7:38 ` [PATCH 6/8] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
@ 2025-01-15 9:03 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 9:03 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> Now that the machine types 2.11 and older have been removed, we
> don't need the "allow_all_mask_sizes" compatibility handling code
> anymore and can remove it now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/event-facility.c | 37 +------------------------------------
> 1 file changed, 1 insertion(+), 36 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 7/8] target/s390x/gen-features: Remove the v2.11 qemu CPU model
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (5 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 6/8] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-04-23 7:54 ` Thomas Huth
2025-01-15 7:38 ` [PATCH 8/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
2025-01-15 16:35 ` [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Philippe Mathieu-Daudé
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
Now that the v2.11 machine is gone, we don't need the v2.11 CPU
feature set anymore.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/gen-features.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 41840677ce..150e4d1843 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -844,12 +844,6 @@ static uint16_t default_GEN17_GA1[] = {
/* QEMU (CPU model) features */
-static uint16_t qemu_V2_11[] = {
- S390_FEAT_GROUP_PLO,
- S390_FEAT_ESAN3,
- S390_FEAT_ZARCH,
-};
-
static uint16_t qemu_V3_1[] = {
S390_FEAT_DAT_ENH,
S390_FEAT_IDTE_SEGMENT,
@@ -1053,7 +1047,6 @@ static FeatGroupDefSpec FeatGroupDef[] = {
* QEMU (CPU model) features
*******************************/
static FeatGroupDefSpec QemuFeatDef[] = {
- QEMU_FEAT_INITIALIZER(V2_11),
QEMU_FEAT_INITIALIZER(V3_1),
QEMU_FEAT_INITIALIZER(V4_0),
QEMU_FEAT_INITIALIZER(V4_1),
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 7/8] target/s390x/gen-features: Remove the v2.11 qemu CPU model
2025-01-15 7:38 ` [PATCH 7/8] target/s390x/gen-features: Remove the v2.11 qemu CPU model Thomas Huth
@ 2025-04-23 7:54 ` Thomas Huth
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Huth @ 2025-04-23 7:54 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/01/2025 08.38, Thomas Huth wrote:
> Now that the v2.11 machine is gone, we don't need the v2.11 CPU
> feature set anymore.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> target/s390x/gen-features.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 41840677ce..150e4d1843 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -844,12 +844,6 @@ static uint16_t default_GEN17_GA1[] = {
>
> /* QEMU (CPU model) features */
>
> -static uint16_t qemu_V2_11[] = {
> - S390_FEAT_GROUP_PLO,
> - S390_FEAT_ESAN3,
> - S390_FEAT_ZARCH,
> -};
> -
> static uint16_t qemu_V3_1[] = {
> S390_FEAT_DAT_ENH,
> S390_FEAT_IDTE_SEGMENT,
> @@ -1053,7 +1047,6 @@ static FeatGroupDefSpec FeatGroupDef[] = {
> * QEMU (CPU model) features
> *******************************/
> static FeatGroupDefSpec QemuFeatDef[] = {
> - QEMU_FEAT_INITIALIZER(V2_11),
Removing this from QemuFeatDef caused some trouble during testing, so this
patch seems to be wrong. I'll try to fix it and send a v2 later...
Thomas
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 8/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (6 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 7/8] target/s390x/gen-features: Remove the v2.11 qemu CPU model Thomas Huth
@ 2025-01-15 7:38 ` Thomas Huth
2025-05-01 22:43 ` Philippe Mathieu-Daudé
2025-01-15 16:35 ` [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Philippe Mathieu-Daudé
8 siblings, 1 reply; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 7:38 UTC (permalink / raw)
To: qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
The s390-ccw-virtio-2.12 machine is older than 6 years, so according to
our machine support policy, it can be removed now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 44f8082326..0f47a2b6f5 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1187,20 +1187,6 @@ static void ccw_machine_3_0_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(3, 0);
-static void ccw_machine_2_12_instance_options(MachineState *machine)
-{
- ccw_machine_3_0_instance_options(machine);
- s390_cpudef_featoff_greater(11, 1, S390_FEAT_PPA15);
- s390_cpudef_featoff_greater(11, 1, S390_FEAT_BPB);
-}
-
-static void ccw_machine_2_12_class_options(MachineClass *mc)
-{
- ccw_machine_3_0_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
-}
-DEFINE_CCW_MACHINE(2, 12);
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
--
2.47.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 8/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
2025-01-15 7:38 ` [PATCH 8/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
@ 2025-05-01 22:43 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-01 22:43 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> The s390-ccw-virtio-2.12 machine is older than 6 years, so according to
> our machine support policy, it can be removed now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/s390-virtio-ccw.c | 14 --------------
> 1 file changed, 14 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12
2025-01-15 7:38 [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Thomas Huth
` (7 preceding siblings ...)
2025-01-15 7:38 ` [PATCH 8/8] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
@ 2025-01-15 16:35 ` Philippe Mathieu-Daudé
2025-01-15 17:04 ` Thomas Huth
8 siblings, 1 reply; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 16:35 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Christian Borntraeger, David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/1/25 08:38, Thomas Huth wrote:
> These machine types have been marked as deprecated two releases ago,
> and are older than 6 years, so according to our support policy, it
> should be fine to remove them now.
>
> Thomas Huth (8):
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine
> types
> target/s390x/gen-features: Remove the v2.11 qemu CPU model
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
Should this be documented in docs/about/removed-features.rst?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12
2025-01-15 16:35 ` [PATCH 0/8] s390x: Remove deprecated machine types v2.9 up to v2.12 Philippe Mathieu-Daudé
@ 2025-01-15 17:04 ` Thomas Huth
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Huth @ 2025-01-15 17:04 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-s390x, Christian Borntraeger,
David Hildenbrand
Cc: qemu-devel, Halil Pasic, Eric Farman, Richard Henderson,
Ilya Leoshkevich
On 15/01/2025 17.35, Philippe Mathieu-Daudé wrote:
> On 15/1/25 08:38, Thomas Huth wrote:
>> These machine types have been marked as deprecated two releases ago,
>> and are older than 6 years, so according to our support policy, it
>> should be fine to remove them now.
>>
>> Thomas Huth (8):
>> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type
>> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 and 2.11 machine
>> types
>> target/s390x/gen-features: Remove the v2.11 qemu CPU model
>> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
>
> Should this be documented in docs/about/removed-features.rst?
We've got a generic paragraph about machine removal now:
https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff
So I think we don't should manually mention each and every removed versioned
machine type in removed-features.rst anymore. But some generic sentence in
removed-features.rst about this would be good, too. I'll prepare a patch for it.
Thomas
^ permalink raw reply [flat|nested] 18+ messages in thread