* [PATCH v2 1/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:11 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 2/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 " Thomas Huth
` (8 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-2.10 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 | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 94edd42dd25..0813eb4ea47 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1273,18 +1273,6 @@ static void ccw_machine_2_11_class_options(MachineClass *mc)
}
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)
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 1/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type
2025-05-06 6:21 ` [PATCH v2 1/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type Thomas Huth
@ 2025-05-06 8:11 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:11 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> The s390-ccw-virtio-2.10 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 | 12 ------------
> 1 file changed, 12 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 2/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
2025-05-06 6:21 ` [PATCH v2 1/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:11 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 3/9] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
` (7 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-2.11 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 | 25 -------------------------
1 file changed, 25 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 0813eb4ea47..2c90702d834 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1250,31 +1250,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);
-
-#endif
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 2/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 machine type
2025-05-06 6:21 ` [PATCH v2 2/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 " Thomas Huth
@ 2025-05-06 8:11 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:11 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> The s390-ccw-virtio-2.11 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 | 25 -------------------------
> 1 file changed, 25 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 3/9] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
2025-05-06 6:21 ` [PATCH v2 1/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type Thomas Huth
2025-05-06 6:21 ` [PATCH v2 2/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 " Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:15 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 4/9] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN Thomas Huth
` (6 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
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.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
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 1afe3645730..7b7bf237fed 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.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 3/9] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code
2025-05-06 6:21 ` [PATCH v2 3/9] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
@ 2025-05-06 8:15 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:15 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> 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.
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 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] 19+ messages in thread
* [PATCH v2 4/9] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (2 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 3/9] hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:12 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 5/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
` (5 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
Now that the v2.11 machine type has been removed, it does not make
sense to keep the qemu_V2_11 feature set around. This is rather
the (minimum) feature set of the oldest supported machine now, so
rename it to qemu_MIN.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/gen-features.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 41840677ce7..754fc843d24 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -844,7 +844,8 @@ static uint16_t default_GEN17_GA1[] = {
/* QEMU (CPU model) features */
-static uint16_t qemu_V2_11[] = {
+static uint16_t qemu_MIN[] = {
+ /* Features supported by the default CPU of the oldest machine type */
S390_FEAT_GROUP_PLO,
S390_FEAT_ESAN3,
S390_FEAT_ZARCH,
@@ -1053,7 +1054,7 @@ static FeatGroupDefSpec FeatGroupDef[] = {
* QEMU (CPU model) features
*******************************/
static FeatGroupDefSpec QemuFeatDef[] = {
- QEMU_FEAT_INITIALIZER(V2_11),
+ QEMU_FEAT_INITIALIZER(MIN),
QEMU_FEAT_INITIALIZER(V3_1),
QEMU_FEAT_INITIALIZER(V4_0),
QEMU_FEAT_INITIALIZER(V4_1),
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 4/9] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN
2025-05-06 6:21 ` [PATCH v2 4/9] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN Thomas Huth
@ 2025-05-06 8:12 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:12 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> Now that the v2.11 machine type has been removed, it does not make
> sense to keep the qemu_V2_11 feature set around. This is rather
> the (minimum) feature set of the oldest supported machine now, so
> rename it to qemu_MIN.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> target/s390x/gen-features.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 5/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (3 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 4/9] target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:13 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 6/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 " Thomas Huth
` (4 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
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 2c90702d834..e612030bc18 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1236,20 +1236,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.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 5/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
2025-05-06 6:21 ` [PATCH v2 5/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
@ 2025-05-06 8:13 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:13 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> 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] 19+ messages in thread
* [PATCH v2 6/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (4 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 5/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:13 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 7/9] hw/s390x: Remove the obsolete hpage_1m_allowed switch Thomas Huth
` (3 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-3.0 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 | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index e612030bc18..8f01e68ef11 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1221,21 +1221,6 @@ static void ccw_machine_3_1_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(3, 1);
-static void ccw_machine_3_0_instance_options(MachineState *machine)
-{
- ccw_machine_3_1_instance_options(machine);
-}
-
-static void ccw_machine_3_0_class_options(MachineClass *mc)
-{
- S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
-
- s390mc->hpage_1m_allowed = false;
- ccw_machine_3_1_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
-}
-DEFINE_CCW_MACHINE(3, 0);
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 6/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 machine type
2025-05-06 6:21 ` [PATCH v2 6/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 " Thomas Huth
@ 2025-05-06 8:13 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:13 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> The s390-ccw-virtio-3.0 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 | 15 ---------------
> 1 file changed, 15 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 7/9] hw/s390x: Remove the obsolete hpage_1m_allowed switch
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (5 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 6/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 " Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 6:21 ` [PATCH v2 8/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type Thomas Huth
` (2 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-3.0 machine was the last one that used the
hpage_1m_allowed switch. Since we removed this machine type, we
can now remove the switch and the related code, too. This allows
us to get rid of the get_machine_class() hack and the big fat
warning comment there.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/s390-virtio-ccw.h | 4 ----
hw/s390x/s390-virtio-ccw.c | 35 ------------------------------
target/s390x/kvm/kvm.c | 6 -----
3 files changed, 45 deletions(-)
diff --git a/include/hw/s390x/s390-virtio-ccw.h b/include/hw/s390x/s390-virtio-ccw.h
index 686d9497d20..321b26df308 100644
--- a/include/hw/s390x/s390-virtio-ccw.h
+++ b/include/hw/s390x/s390-virtio-ccw.h
@@ -53,11 +53,7 @@ struct S390CcwMachineClass {
MachineClass parent_class;
/*< public >*/
- bool hpage_1m_allowed;
int max_threads;
};
-/* 1M huge page mappings allowed by the machine */
-bool hpage_1m_allowed(void);
-
#endif
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 8f01e68ef11..301668a0bff 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -746,39 +746,6 @@ static inline void machine_set_dea_key_wrap(Object *obj, bool value,
ms->dea_key_wrap = value;
}
-static S390CcwMachineClass *current_mc;
-
-/*
- * Get the class of the s390-ccw-virtio machine that is currently in use.
- * Note: libvirt is using the "none" machine to probe for the features of the
- * host CPU, so in case this is called with the "none" machine, the function
- * returns the TYPE_S390_CCW_MACHINE base class. In this base class, all the
- * various "*_allowed" variables are enabled, so that the *_allowed() wrappers
- * below return the correct default value for the "none" machine.
- *
- * Attention! Do *not* add additional new wrappers for CPU features via this
- * mechanism anymore. CPU features should be handled via the CPU models,
- * i.e. checking with s390_has_feat() should be sufficient.
- */
-static S390CcwMachineClass *get_machine_class(void)
-{
- if (unlikely(!current_mc)) {
- /*
- * No s390 ccw machine was instantiated, we are likely to
- * be called for the 'none' machine. The properties will
- * have their after-initialization values.
- */
- current_mc = S390_CCW_MACHINE_CLASS(
- object_class_by_name(TYPE_S390_CCW_MACHINE));
- }
- return current_mc;
-}
-
-bool hpage_1m_allowed(void)
-{
- return get_machine_class()->hpage_1m_allowed;
-}
-
static void machine_get_loadparm(Object *obj, Visitor *v,
const char *name, void *opaque,
Error **errp)
@@ -812,7 +779,6 @@ static void ccw_machine_class_init(ObjectClass *oc, const void *data)
S390CcwMachineClass *s390mc = S390_CCW_MACHINE_CLASS(mc);
DumpSKeysInterface *dsi = DUMP_SKEYS_INTERFACE_CLASS(oc);
- s390mc->hpage_1m_allowed = true;
s390mc->max_threads = 1;
mc->reset = s390_machine_reset;
mc->block_default_type = IF_VIRTIO;
@@ -886,7 +852,6 @@ static const TypeInfo ccw_machine_info = {
#define DEFINE_CCW_MACHINE_IMPL(latest, ...) \
static void MACHINE_VER_SYM(mach_init, ccw, __VA_ARGS__)(MachineState *mach) \
{ \
- current_mc = S390_CCW_MACHINE_CLASS(MACHINE_GET_CLASS(mach)); \
MACHINE_VER_SYM(instance_options, ccw, __VA_ARGS__)(mach); \
ccw_init(mach); \
} \
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index b9f14221976..6cd2ebc5f1f 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -298,12 +298,6 @@ void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp)
return;
}
- if (!hpage_1m_allowed()) {
- error_setg(errp, "This QEMU machine does not support huge page "
- "mappings");
- return;
- }
-
if (pagesize != 1 * MiB) {
error_setg(errp, "Memory backing with 2G pages was specified, "
"but KVM does not support this memory backing");
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 8/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (6 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 7/9] hw/s390x: Remove the obsolete hpage_1m_allowed switch Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:14 ` Philippe Mathieu-Daudé
2025-05-06 6:21 ` [PATCH v2 9/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 " Thomas Huth
2025-05-14 1:50 ` [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Eric Farman
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-3.1 machine is older than 6 years, so according to
our machine support policy, it can be removed now. The v3.1 CPU feature
group gets merged into the minimum CPU feature group now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 16 ----------------
target/s390x/gen-features.c | 4 ----
2 files changed, 20 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 301668a0bff..f08e0980b40 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1170,22 +1170,6 @@ static void ccw_machine_4_0_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(4, 0);
-static void ccw_machine_3_1_instance_options(MachineState *machine)
-{
- static const S390FeatInit qemu_cpu_feat = { S390_FEAT_LIST_QEMU_V3_1 };
- ccw_machine_4_0_instance_options(machine);
- s390_cpudef_featoff_greater(14, 1, S390_FEAT_MULTIPLE_EPOCH);
- s390_cpudef_group_featoff_greater(14, 1, S390_FEAT_GROUP_MULTIPLE_EPOCH_PTFF);
- s390_set_qemu_cpu_model(0x2827, 12, 2, qemu_cpu_feat);
-}
-
-static void ccw_machine_3_1_class_options(MachineClass *mc)
-{
- ccw_machine_4_0_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_3_1, hw_compat_3_1_len);
-}
-DEFINE_CCW_MACHINE(3, 1);
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 754fc843d24..4346b92431b 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -849,9 +849,6 @@ static uint16_t qemu_MIN[] = {
S390_FEAT_GROUP_PLO,
S390_FEAT_ESAN3,
S390_FEAT_ZARCH,
-};
-
-static uint16_t qemu_V3_1[] = {
S390_FEAT_DAT_ENH,
S390_FEAT_IDTE_SEGMENT,
S390_FEAT_STFLE,
@@ -1055,7 +1052,6 @@ static FeatGroupDefSpec FeatGroupDef[] = {
*******************************/
static FeatGroupDefSpec QemuFeatDef[] = {
QEMU_FEAT_INITIALIZER(MIN),
- QEMU_FEAT_INITIALIZER(V3_1),
QEMU_FEAT_INITIALIZER(V4_0),
QEMU_FEAT_INITIALIZER(V4_1),
QEMU_FEAT_INITIALIZER(V6_0),
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 8/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type
2025-05-06 6:21 ` [PATCH v2 8/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type Thomas Huth
@ 2025-05-06 8:14 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:14 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> The s390-ccw-virtio-3.1 machine is older than 6 years, so according to
> our machine support policy, it can be removed now. The v3.1 CPU feature
> group gets merged into the minimum CPU feature group now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/s390-virtio-ccw.c | 16 ----------------
> target/s390x/gen-features.c | 4 ----
> 2 files changed, 20 deletions(-)
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 754fc843d24..4346b92431b 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -849,9 +849,6 @@ static uint16_t qemu_MIN[] = {
> S390_FEAT_GROUP_PLO,
> S390_FEAT_ESAN3,
> S390_FEAT_ZARCH,
> -};
> -
> -static uint16_t qemu_V3_1[] = {
Nice :)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> S390_FEAT_DAT_ENH,
> S390_FEAT_IDTE_SEGMENT,
> S390_FEAT_STFLE,
> @@ -1055,7 +1052,6 @@ static FeatGroupDefSpec FeatGroupDef[] = {
> *******************************/
> static FeatGroupDefSpec QemuFeatDef[] = {
> QEMU_FEAT_INITIALIZER(MIN),
> - QEMU_FEAT_INITIALIZER(V3_1),
> QEMU_FEAT_INITIALIZER(V4_0),
> QEMU_FEAT_INITIALIZER(V4_1),
> QEMU_FEAT_INITIALIZER(V6_0),
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 9/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 machine type
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (7 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 8/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type Thomas Huth
@ 2025-05-06 6:21 ` Thomas Huth
2025-05-06 8:14 ` Philippe Mathieu-Daudé
2025-05-14 1:50 ` [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Eric Farman
9 siblings, 1 reply; 19+ messages in thread
From: Thomas Huth @ 2025-05-06 6:21 UTC (permalink / raw)
To: qemu-s390x, Halil Pasic, Christian Borntraeger, Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
From: Thomas Huth <thuth@redhat.com>
The s390-ccw-virtio-4.0 machine is older than 6 years, so according to
our machine support policy, it can be removed now. The corresponding
v4.0 CPU feature group gets merged into the minimum feature group now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 14 --------------
target/s390x/gen-features.c | 4 ----
2 files changed, 18 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index f08e0980b40..5469a727d83 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1156,20 +1156,6 @@ static void ccw_machine_4_1_class_options(MachineClass *mc)
}
DEFINE_CCW_MACHINE(4, 1);
-static void ccw_machine_4_0_instance_options(MachineState *machine)
-{
- static const S390FeatInit qemu_cpu_feat = { S390_FEAT_LIST_QEMU_V4_0 };
- ccw_machine_4_1_instance_options(machine);
- s390_set_qemu_cpu_model(0x2827, 12, 2, qemu_cpu_feat);
-}
-
-static void ccw_machine_4_0_class_options(MachineClass *mc)
-{
- ccw_machine_4_1_class_options(mc);
- compat_props_add(mc->compat_props, hw_compat_4_0, hw_compat_4_0_len);
-}
-DEFINE_CCW_MACHINE(4, 0);
-
static void ccw_machine_register_types(void)
{
type_register_static(&ccw_machine_info);
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 4346b92431b..a814ece82f2 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -878,9 +878,6 @@ static uint16_t qemu_MIN[] = {
S390_FEAT_ADAPTER_INT_SUPPRESSION,
S390_FEAT_MSA_EXT_3,
S390_FEAT_MSA_EXT_4,
-};
-
-static uint16_t qemu_V4_0[] = {
/*
* Only BFP bits are implemented (HFP, DFP, PFPO and DIVIDE TO INTEGER not
* implemented yet).
@@ -1052,7 +1049,6 @@ static FeatGroupDefSpec FeatGroupDef[] = {
*******************************/
static FeatGroupDefSpec QemuFeatDef[] = {
QEMU_FEAT_INITIALIZER(MIN),
- QEMU_FEAT_INITIALIZER(V4_0),
QEMU_FEAT_INITIALIZER(V4_1),
QEMU_FEAT_INITIALIZER(V6_0),
QEMU_FEAT_INITIALIZER(V6_2),
--
2.49.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 9/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 machine type
2025-05-06 6:21 ` [PATCH v2 9/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 " Thomas Huth
@ 2025-05-06 8:14 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 19+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-06 8:14 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger,
Eric Farman
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On 6/5/25 08:21, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> The s390-ccw-virtio-4.0 machine is older than 6 years, so according to
> our machine support policy, it can be removed now. The corresponding
> v4.0 CPU feature group gets merged into the minimum feature group now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/s390-virtio-ccw.c | 14 --------------
> target/s390x/gen-features.c | 4 ----
> 2 files changed, 18 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0
2025-05-06 6:21 [PATCH v2 0/9] s390x: Remove deprecated machine types up to v4.0 Thomas Huth
` (8 preceding siblings ...)
2025-05-06 6:21 ` [PATCH v2 9/9] hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 " Thomas Huth
@ 2025-05-14 1:50 ` Eric Farman
9 siblings, 0 replies; 19+ messages in thread
From: Eric Farman @ 2025-05-14 1:50 UTC (permalink / raw)
To: Thomas Huth, qemu-s390x, Halil Pasic, Christian Borntraeger
Cc: qemu-devel, David Hildenbrand, Ilya Leoshkevich
On Tue, 2025-05-06 at 08:21 +0200, Thomas Huth wrote:
> The machine types up to s390-ccw-virtio-4.0 are older than 6 years
> and thus, according to our support policy, are scheduled for being
> deletion now. These patches remove the machines and clean up the
> related compatibility handling that is not required anymore.
>
> v2:
> - Some patches are already upstream, thus dropped them from the series
> - Split the patch to remove 2.10 and 2.11 into two separate patches
> (for consistency with other patches)
> - Fixed a problem with the QemuFeatDef feature set
Ah, I was wondering about this part in particular before you'd sent this v2, so now my question is
moot.
For the series:
Reviewed-by: Eric Farman <farman@linux.ibm.com>
>
> Thomas Huth (9):
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 machine type
> hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes"
> code
> target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN
> hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type
> hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 machine type
> hw/s390x: Remove the obsolete hpage_1m_allowed switch
> hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type
> hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 machine type
>
> include/hw/s390x/s390-virtio-ccw.h | 4 -
> hw/s390x/event-facility.c | 37 +-------
> hw/s390x/s390-virtio-ccw.c | 131 -----------------------------
> target/s390x/gen-features.c | 13 +--
> target/s390x/kvm/kvm.c | 6 --
> 5 files changed, 4 insertions(+), 187 deletions(-)
>
^ permalink raw reply [flat|nested] 19+ messages in thread