qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
@ 2025-01-16 14:59 Philippe Mathieu-Daudé
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
                   ` (14 more replies)
  0 siblings, 15 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The versioned 'virt' machines up to 2.12 been marked as deprecated
two releases ago, and are older than 6 years, so according to our
support policy we can remove them. Remove associated dead code.

Since v1:
- Corrected disallow_affinity_adjustment removal (Thomas)
- Do not modify docs/about/removed-features.rst (Thomas & Daniel)

Philippe Mathieu-Daudé (13):
  hw/arm/virt: Remove deprecated virt-2.6 machine
  hw/arm/virt: Remove VirtMachineClass::no_pmu field
  hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  hw/arm/virt: Remove deprecated virt-2.7 machine
  hw/arm/virt: Remove VirtMachineClass::no_its field
  hw/arm/virt: Remove deprecated virt-2.8 machine
  hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
    field
  hw/arm/virt: Remove deprecated virt-2.9 machine
  hw/arm/virt: Remove deprecated virt-2.10 machine
  hw/arm/virt: Remove deprecated virt-2.11 machine
  hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
  hw/arm/virt: Remove deprecated virt-2.12 machine
  hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field

 include/hw/arm/virt.h    |   6 --
 hw/arm/virt-acpi-build.c |  10 +--
 hw/arm/virt.c            | 136 +++++++--------------------------------
 3 files changed, 26 insertions(+), 126 deletions(-)

-- 
2.47.1



^ permalink raw reply	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:42   ` Richard Henderson
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 99e0a68b6c5..3bb8a9c7bd6 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3606,15 +3606,3 @@ static void virt_machine_2_7_options(MachineClass *mc)
     mc->minimum_page_bits = 0;
 }
 DEFINE_VIRT_MACHINE(2, 7)
-
-static void virt_machine_2_6_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_2_7_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
-    vmc->disallow_affinity_adjustment = true;
-    /* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
-    vmc->no_pmu = true;
-}
-DEFINE_VIRT_MACHINE(2, 6)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:44   ` Richard Henderson
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_pmu field was only used by
virt-2.6 machine, which got removed. Remove it and
simplify machvirt_init().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/arm/virt.h | 1 -
 hw/arm/virt.c         | 4 ----
 2 files changed, 5 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index c8e94e6aedc..27c5bb585cb 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -120,7 +120,6 @@ struct VirtMachineClass {
     bool disallow_affinity_adjustment;
     bool no_its;
     bool no_tcg_its;
-    bool no_pmu;
     bool claim_edge_triggered_timers;
     bool smbios_old_sys_ver;
     bool no_highmem_compact;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 3bb8a9c7bd6..0080577e1a9 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2262,10 +2262,6 @@ static void machvirt_init(MachineState *machine)
             object_property_set_bool(cpuobj, "kvm-steal-time", false, NULL);
         }
 
-        if (vmc->no_pmu && object_property_find(cpuobj, "pmu")) {
-            object_property_set_bool(cpuobj, "pmu", false, NULL);
-        }
-
         if (vmc->no_tcg_lpa2 && object_property_find(cpuobj, "lpa2")) {
             object_property_set_bool(cpuobj, "lpa2", false, NULL);
         }
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 15:16   ` Andrew Jones
                     ` (2 more replies)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
                   ` (11 subsequent siblings)
  14 siblings, 3 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::disallow_affinity_adjustment
field was only used by virt-2.6 machine, which got
removed. Remove it and simplify virt_cpu_mp_affinity().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/arm/virt.h |  1 -
 hw/arm/virt.c         | 30 +++++++++++++++---------------
 2 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 27c5bb585cb..5d3b25509ff 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -117,7 +117,6 @@ typedef enum VirtGICType {
 
 struct VirtMachineClass {
     MachineClass parent;
-    bool disallow_affinity_adjustment;
     bool no_its;
     bool no_tcg_its;
     bool claim_edge_triggered_timers;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 0080577e1a9..53f4a96e517 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1759,24 +1759,24 @@ void virt_machine_done(Notifier *notifier, void *data)
 
 static uint64_t virt_cpu_mp_affinity(VirtMachineState *vms, int idx)
 {
-    uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER;
+    uint8_t clustersz;
     VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
 
-    if (!vmc->disallow_affinity_adjustment) {
-        /* Adjust MPIDR like 64-bit KVM hosts, which incorporate the
-         * GIC's target-list limitations. 32-bit KVM hosts currently
-         * always create clusters of 4 CPUs, but that is expected to
-         * change when they gain support for gicv3. When KVM is enabled
-         * it will override the changes we make here, therefore our
-         * purposes are to make TCG consistent (with 64-bit KVM hosts)
-         * and to improve SGI efficiency.
-         */
-        if (vms->gic_version == VIRT_GIC_VERSION_2) {
-            clustersz = GIC_TARGETLIST_BITS;
-        } else {
-            clustersz = GICV3_TARGETLIST_BITS;
-        }
+    /*
+     * Adjust MPIDR like 64-bit KVM hosts, which incorporate the
+     * GIC's target-list limitations. 32-bit KVM hosts currently
+     * always create clusters of 4 CPUs, but that is expected to
+     * change when they gain support for gicv3. When KVM is enabled
+     * it will override the changes we make here, therefore our
+     * purposes are to make TCG consistent (with 64-bit KVM hosts)
+     * and to improve SGI efficiency.
+     */
+    if (vms->gic_version == VIRT_GIC_VERSION_2) {
+        clustersz = GIC_TARGETLIST_BITS;
+    } else {
+        clustersz = GICV3_TARGETLIST_BITS;
     }
+
     return arm_build_mp_affinity(idx, clustersz);
 }
 
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:47   ` Richard Henderson
  2025-01-16 19:37   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
                   ` (10 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 53f4a96e517..eb27305dcd3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3589,16 +3589,3 @@ static void virt_machine_2_8_options(MachineClass *mc)
     vmc->claim_edge_triggered_timers = true;
 }
 DEFINE_VIRT_MACHINE(2, 8)
-
-static void virt_machine_2_7_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_2_8_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_7, hw_compat_2_7_len);
-    /* ITS was introduced with 2.8 */
-    vmc->no_its = true;
-    /* Stick with 1K pages for migration compatibility */
-    mc->minimum_page_bits = 0;
-}
-DEFINE_VIRT_MACHINE(2, 7)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:54   ` Richard Henderson
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_its field was only used by
virt-2.7 machine, which got removed. Remove it and
simplify virt_instance_init() and virt_acpi_build().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/arm/virt.h    |  1 -
 hw/arm/virt-acpi-build.c |  5 ++---
 hw/arm/virt.c            | 16 ++++++----------
 3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 5d3b25509ff..463ac09615e 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -117,7 +117,6 @@ typedef enum VirtGICType {
 
 struct VirtMachineClass {
     MachineClass parent;
-    bool no_its;
     bool no_tcg_its;
     bool claim_edge_triggered_timers;
     bool smbios_old_sys_ver;
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index c9b13057a34..ccecea9e09b 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -670,7 +670,6 @@ static void
 build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 {
     int i;
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     const MemMapEntry *memmap = vms->memmap;
     AcpiTable table = { .sig = "APIC", .rev = 4, .oem_id = vms->oem_id,
                         .oem_table_id = vms->oem_table_id };
@@ -741,7 +740,7 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
                                           memmap[VIRT_HIGH_GIC_REDIST2].size);
         }
 
-        if (its_class_name() && !vmc->no_its) {
+        if (its_class_name()) {
             /*
              * ACPI spec, Revision 6.0 Errata A
              * (original 6.0 definition has invalid Length)
@@ -974,7 +973,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
                           vms->oem_table_id);
     }
 
-    if (its_class_name() && !vmc->no_its) {
+    if (its_class_name()) {
         acpi_add_table(table_offsets, tables_blob);
         build_iort(tables_blob, tables->linker, vms);
     }
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index eb27305dcd3..06530a5dbf8 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3294,17 +3294,13 @@ static void virt_instance_init(Object *obj)
     vms->highmem_mmio = true;
     vms->highmem_redists = true;
 
-    if (vmc->no_its) {
-        vms->its = false;
-    } else {
-        /* Default allows ITS instantiation */
-        vms->its = true;
+    /* Default allows ITS instantiation */
+    vms->its = true;
 
-        if (vmc->no_tcg_its) {
-            vms->tcg_its = false;
-        } else {
-            vms->tcg_its = true;
-        }
+    if (vmc->no_tcg_its) {
+        vms->tcg_its = false;
+    } else {
+        vms->tcg_its = true;
     }
 
     /* Default disallows iommu instantiation */
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:56   ` Richard Henderson
  2025-01-16 19:39   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 06530a5dbf8..76d83cfdd3b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3572,16 +3572,3 @@ static void virt_machine_2_9_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len);
 }
 DEFINE_VIRT_MACHINE(2, 9)
-
-static void virt_machine_2_8_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_2_9_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_len);
-    /* For 2.8 and earlier we falsely claimed in the DT that
-     * our timers were edge-triggered, not level-triggered.
-     */
-    vmc->claim_edge_triggered_timers = true;
-}
-DEFINE_VIRT_MACHINE(2, 8)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:58   ` Richard Henderson
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::claim_edge_triggered_timers field
was only used by virt-2.8 machine, which got removed.
Remove it and simplify fdt_add_timer_nodes() and build_gtdt().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/arm/virt.h    | 1 -
 hw/arm/virt-acpi-build.c | 5 +----
 hw/arm/virt.c            | 5 -----
 3 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 463ac09615e..9c531e28d04 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -118,7 +118,6 @@ typedef enum VirtGICType {
 struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
-    bool claim_edge_triggered_timers;
     bool smbios_old_sys_ver;
     bool no_highmem_compact;
     bool no_highmem_ecam;
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index ccecea9e09b..6e04fea165a 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -537,15 +537,12 @@ build_srat(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 static void
 build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 {
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     /*
      * Table 5-117 Flag Definitions
      * set only "Timer interrupt Mode" and assume "Timer Interrupt
      * polarity" bit as '0: Interrupt is Active high'
      */
-    uint32_t irqflags = vmc->claim_edge_triggered_timers ?
-        1 : /* Interrupt is Edge triggered */
-        0;  /* Interrupt is Level triggered  */
+    const uint32_t irqflags = 0;  /* Interrupt is Level triggered  */
     AcpiTable table = { .sig = "GTDT", .rev = 3, .oem_id = vms->oem_id,
                         .oem_table_id = vms->oem_table_id };
 
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 76d83cfdd3b..589f3e27ee8 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -361,14 +361,9 @@ static void fdt_add_timer_nodes(const VirtMachineState *vms)
      * the correct information.
      */
     ARMCPU *armcpu;
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     uint32_t irqflags = GIC_FDT_IRQ_FLAGS_LEVEL_HI;
     MachineState *ms = MACHINE(vms);
 
-    if (vmc->claim_edge_triggered_timers) {
-        irqflags = GIC_FDT_IRQ_FLAGS_EDGE_LO_HI;
-    }
-
     if (vms->gic_version == VIRT_GIC_VERSION_2) {
         irqflags = deposit32(irqflags, GIC_FDT_IRQ_PPI_CPU_START,
                              GIC_FDT_IRQ_PPI_CPU_WIDTH,
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:58   ` Richard Henderson
  2025-01-16 19:40   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 589f3e27ee8..14fc4b100a3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3560,10 +3560,3 @@ static void virt_machine_2_10_options(MachineClass *mc)
     mc->ignore_memory_transaction_failures = true;
 }
 DEFINE_VIRT_MACHINE(2, 10)
-
-static void virt_machine_2_9_options(MachineClass *mc)
-{
-    virt_machine_2_10_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len);
-}
-DEFINE_VIRT_MACHINE(2, 9)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 17:59   ` Richard Henderson
  2025-01-16 19:41   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 14fc4b100a3..54c7b92b6d9 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3551,12 +3551,3 @@ static void virt_machine_2_11_options(MachineClass *mc)
     vmc->smbios_old_sys_ver = true;
 }
 DEFINE_VIRT_MACHINE(2, 11)
-
-static void virt_machine_2_10_options(MachineClass *mc)
-{
-    virt_machine_2_11_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_10, hw_compat_2_10_len);
-    /* before 2.11 we never faulted accesses to bad addresses */
-    mc->ignore_memory_transaction_failures = true;
-}
-DEFINE_VIRT_MACHINE(2, 10)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 18:03   ` Richard Henderson
  2025-01-16 19:45   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 54c7b92b6d9..582a5aa077b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3541,13 +3541,3 @@ static void virt_machine_2_12_options(MachineClass *mc)
     mc->max_cpus = 255;
 }
 DEFINE_VIRT_MACHINE(2, 12)
-
-static void virt_machine_2_11_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_2_12_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
-    vmc->smbios_old_sys_ver = true;
-}
-DEFINE_VIRT_MACHINE(2, 11)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 18:03   ` Richard Henderson
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::smbios_old_sys_ver field was
only used by virt-2.11 machine, which got removed.
Remove it and simplify virt_build_smbios().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/arm/virt.h | 1 -
 hw/arm/virt.c         | 4 +---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 9c531e28d04..b2cc012a402 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -118,7 +118,6 @@ typedef enum VirtGICType {
 struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
-    bool smbios_old_sys_ver;
     bool no_highmem_compact;
     bool no_highmem_ecam;
     bool no_ged;   /* Machines < 4.2 have no support for ACPI GED device */
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 582a5aa077b..f15d6f230b4 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1688,7 +1688,6 @@ static void virt_build_smbios(VirtMachineState *vms)
 {
     MachineClass *mc = MACHINE_GET_CLASS(vms);
     MachineState *ms = MACHINE(vms);
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     uint8_t *smbios_tables, *smbios_anchor;
     size_t smbios_tables_len, smbios_anchor_len;
     struct smbios_phys_mem_area mem_array;
@@ -1698,8 +1697,7 @@ static void virt_build_smbios(VirtMachineState *vms)
         product = "KVM Virtual Machine";
     }
 
-    smbios_set_defaults("QEMU", product,
-                        vmc->smbios_old_sys_ver ? "1.0" : mc->name);
+    smbios_set_defaults("QEMU", product, mc->name);
 
     /* build the array of physical mem area from base_memmap */
     mem_array.address = vms->memmap[VIRT_MEM].base;
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (10 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 18:03   ` Richard Henderson
  2025-01-16 19:45   ` Thomas Huth
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/virt.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f15d6f230b4..d22b445fe99 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3528,14 +3528,3 @@ static void virt_machine_3_0_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
 }
 DEFINE_VIRT_MACHINE(3, 0)
-
-static void virt_machine_2_12_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_3_0_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
-    vmc->no_highmem_ecam = true;
-    mc->max_cpus = 255;
-}
-DEFINE_VIRT_MACHINE(2, 12)
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (11 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
@ 2025-01-16 14:59 ` Philippe Mathieu-Daudé
  2025-01-16 18:04   ` Richard Henderson
  2025-01-16 21:13 ` [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
  2025-05-02 13:37 ` Peter Maydell
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 14:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_highmem_ecam field was only
used by virt-2.12 machine, which got removed. Remove it
and simplify virt_instance_init().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/arm/virt.h | 1 -
 hw/arm/virt.c         | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index b2cc012a402..9a1b0f53d21 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -119,7 +119,6 @@ struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
     bool no_highmem_compact;
-    bool no_highmem_ecam;
     bool no_ged;   /* Machines < 4.2 have no support for ACPI GED device */
     bool kvm_no_adjvtime;
     bool no_kvm_steal_time;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index d22b445fe99..8c5ca6b59d3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3283,7 +3283,7 @@ static void virt_instance_init(Object *obj)
     vms->highmem_compact = !vmc->no_highmem_compact;
     vms->gic_version = VIRT_GIC_VERSION_NOSEL;
 
-    vms->highmem_ecam = !vmc->no_highmem_ecam;
+    vms->highmem_ecam = true;
     vms->highmem_mmio = true;
     vms->highmem_redists = true;
 
-- 
2.47.1



^ permalink raw reply related	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
@ 2025-01-16 15:16   ` Andrew Jones
  2025-01-16 19:37     ` Thomas Huth
  2025-01-16 17:47   ` Richard Henderson
  2025-04-29 15:45   ` Philippe Mathieu-Daudé
  2 siblings, 1 reply; 44+ messages in thread
From: Andrew Jones @ 2025-01-16 15:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Igor Mammedov, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell

On Thu, Jan 16, 2025 at 03:59:34PM +0100, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::disallow_affinity_adjustment
> field was only used by virt-2.6 machine, which got
> removed. Remove it and simplify virt_cpu_mp_affinity().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  include/hw/arm/virt.h |  1 -
>  hw/arm/virt.c         | 30 +++++++++++++++---------------
>  2 files changed, 15 insertions(+), 16 deletions(-)
> 
> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
> index 27c5bb585cb..5d3b25509ff 100644
> --- a/include/hw/arm/virt.h
> +++ b/include/hw/arm/virt.h
> @@ -117,7 +117,6 @@ typedef enum VirtGICType {
>  
>  struct VirtMachineClass {
>      MachineClass parent;
> -    bool disallow_affinity_adjustment;
>      bool no_its;
>      bool no_tcg_its;
>      bool claim_edge_triggered_timers;
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 0080577e1a9..53f4a96e517 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1759,24 +1759,24 @@ void virt_machine_done(Notifier *notifier, void *data)
>  
>  static uint64_t virt_cpu_mp_affinity(VirtMachineState *vms, int idx)
>  {
> -    uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER;
> +    uint8_t clustersz;
>      VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
>  
> -    if (!vmc->disallow_affinity_adjustment) {
> -        /* Adjust MPIDR like 64-bit KVM hosts, which incorporate the
> -         * GIC's target-list limitations. 32-bit KVM hosts currently
> -         * always create clusters of 4 CPUs, but that is expected to
> -         * change when they gain support for gicv3. When KVM is enabled
> -         * it will override the changes we make here, therefore our
> -         * purposes are to make TCG consistent (with 64-bit KVM hosts)
> -         * and to improve SGI efficiency.
> -         */
> -        if (vms->gic_version == VIRT_GIC_VERSION_2) {
> -            clustersz = GIC_TARGETLIST_BITS;
> -        } else {
> -            clustersz = GICV3_TARGETLIST_BITS;
> -        }
> +    /*
> +     * Adjust MPIDR like 64-bit KVM hosts, which incorporate the
> +     * GIC's target-list limitations. 32-bit KVM hosts currently
> +     * always create clusters of 4 CPUs, but that is expected to
> +     * change when they gain support for gicv3. When KVM is enabled
> +     * it will override the changes we make here, therefore our
> +     * purposes are to make TCG consistent (with 64-bit KVM hosts)
> +     * and to improve SGI efficiency.

32-bit KVM hosts are dead a long time, so we could definitely trim
this comment to at least remove those sentences. We'd also have
to double check arm64 KVM to see if the comment is still accurate,
since the comment is so old. Or, we could just delete the comment.

Thanks,
drew

> +     */
> +    if (vms->gic_version == VIRT_GIC_VERSION_2) {
> +        clustersz = GIC_TARGETLIST_BITS;
> +    } else {
> +        clustersz = GICV3_TARGETLIST_BITS;
>      }
> +
>      return arm_build_mp_affinity(idx, clustersz);
>  }
>  
> -- 
> 2.47.1
> 


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
@ 2025-01-16 17:42   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:42 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 12 ------------
>   1 file changed, 12 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 99e0a68b6c5..3bb8a9c7bd6 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3606,15 +3606,3 @@ static void virt_machine_2_7_options(MachineClass *mc)
>       mc->minimum_page_bits = 0;
>   }
>   DEFINE_VIRT_MACHINE(2, 7)
> -
> -static void virt_machine_2_6_options(MachineClass *mc)
> -{
> -    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> -
> -    virt_machine_2_7_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
> -    vmc->disallow_affinity_adjustment = true;
> -    /* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
> -    vmc->no_pmu = true;
> -}
> -DEFINE_VIRT_MACHINE(2, 6)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
@ 2025-01-16 17:44   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:44 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::no_pmu field was only used by
> virt-2.6 machine, which got removed. Remove it and
> simplify machvirt_init().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> ---
>   include/hw/arm/virt.h | 1 -
>   hw/arm/virt.c         | 4 ----
>   2 files changed, 5 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
  2025-01-16 15:16   ` Andrew Jones
@ 2025-01-16 17:47   ` Richard Henderson
  2025-04-29 15:45   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:47 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> TheVirtMachineClass::disallow_affinity_adjustment
> field was only used by virt-2.6 machine, which got
> removed. Remove it and simplify virt_cpu_mp_affinity().
> 
> Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org>
> ---
>   include/hw/arm/virt.h |  1 -
>   hw/arm/virt.c         | 30 +++++++++++++++---------------
>   2 files changed, 15 insertions(+), 16 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
@ 2025-01-16 17:47   ` Richard Henderson
  2025-01-16 19:37   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:47 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 13 -------------
>   1 file changed, 13 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 53f4a96e517..eb27305dcd3 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3589,16 +3589,3 @@ static void virt_machine_2_8_options(MachineClass *mc)
>       vmc->claim_edge_triggered_timers = true;
>   }
>   DEFINE_VIRT_MACHINE(2, 8)
> -
> -static void virt_machine_2_7_options(MachineClass *mc)
> -{
> -    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> -
> -    virt_machine_2_8_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_7, hw_compat_2_7_len);
> -    /* ITS was introduced with 2.8 */
> -    vmc->no_its = true;
> -    /* Stick with 1K pages for migration compatibility */
> -    mc->minimum_page_bits = 0;
> -}
> -DEFINE_VIRT_MACHINE(2, 7)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
@ 2025-01-16 17:54   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:54 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::no_its field was only used by
> virt-2.7 machine, which got removed. Remove it and
> simplify virt_instance_init() and virt_acpi_build().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> ---
>   include/hw/arm/virt.h    |  1 -
>   hw/arm/virt-acpi-build.c |  5 ++---
>   hw/arm/virt.c            | 16 ++++++----------
>   3 files changed, 8 insertions(+), 14 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
@ 2025-01-16 17:56   ` Richard Henderson
  2025-01-16 19:39   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:56 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 13 -------------
>   1 file changed, 13 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 06530a5dbf8..76d83cfdd3b 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3572,16 +3572,3 @@ static void virt_machine_2_9_options(MachineClass *mc)
>       compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len);
>   }
>   DEFINE_VIRT_MACHINE(2, 9)
> -
> -static void virt_machine_2_8_options(MachineClass *mc)
> -{
> -    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> -
> -    virt_machine_2_9_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_len);
> -    /* For 2.8 and earlier we falsely claimed in the DT that
> -     * our timers were edge-triggered, not level-triggered.
> -     */
> -    vmc->claim_edge_triggered_timers = true;
> -}
> -DEFINE_VIRT_MACHINE(2, 8)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
@ 2025-01-16 17:58   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:58 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> TheVirtMachineClass::claim_edge_triggered_timers field
> was only used by virt-2.8 machine, which got removed.
> Remove it and simplify fdt_add_timer_nodes() and build_gtdt().
> 
> Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org>
> Reviewed-by: Thomas Huth<thuth@redhat.com>
> ---
>   include/hw/arm/virt.h    | 1 -
>   hw/arm/virt-acpi-build.c | 5 +----
>   hw/arm/virt.c            | 5 -----
>   3 files changed, 1 insertion(+), 10 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
@ 2025-01-16 17:58   ` Richard Henderson
  2025-01-16 19:40   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:58 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 7 -------
>   1 file changed, 7 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 589f3e27ee8..14fc4b100a3 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3560,10 +3560,3 @@ static void virt_machine_2_10_options(MachineClass *mc)
>       mc->ignore_memory_transaction_failures = true;
>   }
>   DEFINE_VIRT_MACHINE(2, 10)
> -
> -static void virt_machine_2_9_options(MachineClass *mc)
> -{
> -    virt_machine_2_10_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len);
> -}
> -DEFINE_VIRT_MACHINE(2, 9)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
@ 2025-01-16 17:59   ` Richard Henderson
  2025-01-16 19:41   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 17:59 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 9 ---------
>   1 file changed, 9 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 14fc4b100a3..54c7b92b6d9 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3551,12 +3551,3 @@ static void virt_machine_2_11_options(MachineClass *mc)
>       vmc->smbios_old_sys_ver = true;
>   }
>   DEFINE_VIRT_MACHINE(2, 11)
> -
> -static void virt_machine_2_10_options(MachineClass *mc)
> -{
> -    virt_machine_2_11_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_10, hw_compat_2_10_len);
> -    /* before 2.11 we never faulted accesses to bad addresses */
> -    mc->ignore_memory_transaction_failures = true;
> -}
> -DEFINE_VIRT_MACHINE(2, 10)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
@ 2025-01-16 18:03   ` Richard Henderson
  2025-01-16 19:45   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 18:03 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 10 ----------
>   1 file changed, 10 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 54c7b92b6d9..582a5aa077b 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3541,13 +3541,3 @@ static void virt_machine_2_12_options(MachineClass *mc)
>       mc->max_cpus = 255;
>   }
>   DEFINE_VIRT_MACHINE(2, 12)
> -
> -static void virt_machine_2_11_options(MachineClass *mc)
> -{
> -    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> -
> -    virt_machine_2_12_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
> -    vmc->smbios_old_sys_ver = true;
> -}
> -DEFINE_VIRT_MACHINE(2, 11)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
@ 2025-01-16 18:03   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 18:03 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::smbios_old_sys_ver field was
> only used by virt-2.11 machine, which got removed.
> Remove it and simplify virt_build_smbios().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> ---
>   include/hw/arm/virt.h | 1 -
>   hw/arm/virt.c         | 4 +---
>   2 files changed, 1 insertion(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
@ 2025-01-16 18:03   ` Richard Henderson
  2025-01-16 19:45   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 18:03 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 11 -----------
>   1 file changed, 11 deletions(-)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index f15d6f230b4..d22b445fe99 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -3528,14 +3528,3 @@ static void virt_machine_3_0_options(MachineClass *mc)
>       compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
>   }
>   DEFINE_VIRT_MACHINE(3, 0)
> -
> -static void virt_machine_2_12_options(MachineClass *mc)
> -{
> -    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> -
> -    virt_machine_3_0_options(mc);
> -    compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
> -    vmc->no_highmem_ecam = true;
> -    mc->max_cpus = 255;
> -}
> -DEFINE_VIRT_MACHINE(2, 12)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
@ 2025-01-16 18:04   ` Richard Henderson
  0 siblings, 0 replies; 44+ messages in thread
From: Richard Henderson @ 2025-01-16 18:04 UTC (permalink / raw)
  To: qemu-devel

On 1/16/25 06:59, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::no_highmem_ecam field was only
> used by virt-2.12 machine, which got removed. Remove it
> and simplify virt_instance_init().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> ---
>   include/hw/arm/virt.h | 1 -
>   hw/arm/virt.c         | 2 +-
>   2 files changed, 1 insertion(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  2025-01-16 15:16   ` Andrew Jones
@ 2025-01-16 19:37     ` Thomas Huth
  0 siblings, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:37 UTC (permalink / raw)
  To: Andrew Jones, Philippe Mathieu-Daudé
  Cc: qemu-devel, Igor Mammedov, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 16.16, Andrew Jones wrote:
> On Thu, Jan 16, 2025 at 03:59:34PM +0100, Philippe Mathieu-Daudé wrote:
>> The VirtMachineClass::disallow_affinity_adjustment
>> field was only used by virt-2.6 machine, which got
>> removed. Remove it and simplify virt_cpu_mp_affinity().
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>   include/hw/arm/virt.h |  1 -
>>   hw/arm/virt.c         | 30 +++++++++++++++---------------
>>   2 files changed, 15 insertions(+), 16 deletions(-)
>>
>> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
>> index 27c5bb585cb..5d3b25509ff 100644
>> --- a/include/hw/arm/virt.h
>> +++ b/include/hw/arm/virt.h
>> @@ -117,7 +117,6 @@ typedef enum VirtGICType {
>>   
>>   struct VirtMachineClass {
>>       MachineClass parent;
>> -    bool disallow_affinity_adjustment;
>>       bool no_its;
>>       bool no_tcg_its;
>>       bool claim_edge_triggered_timers;
>> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
>> index 0080577e1a9..53f4a96e517 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -1759,24 +1759,24 @@ void virt_machine_done(Notifier *notifier, void *data)
>>   
>>   static uint64_t virt_cpu_mp_affinity(VirtMachineState *vms, int idx)
>>   {
>> -    uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER;
>> +    uint8_t clustersz;
>>       VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
>>   
>> -    if (!vmc->disallow_affinity_adjustment) {
>> -        /* Adjust MPIDR like 64-bit KVM hosts, which incorporate the
>> -         * GIC's target-list limitations. 32-bit KVM hosts currently
>> -         * always create clusters of 4 CPUs, but that is expected to
>> -         * change when they gain support for gicv3. When KVM is enabled
>> -         * it will override the changes we make here, therefore our
>> -         * purposes are to make TCG consistent (with 64-bit KVM hosts)
>> -         * and to improve SGI efficiency.
>> -         */
>> -        if (vms->gic_version == VIRT_GIC_VERSION_2) {
>> -            clustersz = GIC_TARGETLIST_BITS;
>> -        } else {
>> -            clustersz = GICV3_TARGETLIST_BITS;
>> -        }
>> +    /*
>> +     * Adjust MPIDR like 64-bit KVM hosts, which incorporate the
>> +     * GIC's target-list limitations. 32-bit KVM hosts currently
>> +     * always create clusters of 4 CPUs, but that is expected to
>> +     * change when they gain support for gicv3. When KVM is enabled
>> +     * it will override the changes we make here, therefore our
>> +     * purposes are to make TCG consistent (with 64-bit KVM hosts)
>> +     * and to improve SGI efficiency.
> 
> 32-bit KVM hosts are dead a long time, so we could definitely trim
> this comment to at least remove those sentences. We'd also have
> to double check arm64 KVM to see if the comment is still accurate,
> since the comment is so old. Or, we could just delete the comment.

I agree that this comment needs an update, but it could also be done in a 
separate patch later, so from my side for this patch here:

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
  2025-01-16 17:47   ` Richard Henderson
@ 2025-01-16 19:37   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:37 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 13 -------------
>   1 file changed, 13 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
  2025-01-16 17:56   ` Richard Henderson
@ 2025-01-16 19:39   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:39 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 13 -------------
>   1 file changed, 13 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
  2025-01-16 17:58   ` Richard Henderson
@ 2025-01-16 19:40   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:40 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 7 -------
>   1 file changed, 7 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
  2025-01-16 17:59   ` Richard Henderson
@ 2025-01-16 19:41   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:41 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 9 ---------
>   1 file changed, 9 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
  2025-01-16 18:03   ` Richard Henderson
@ 2025-01-16 19:45   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:45 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 10 ----------
>   1 file changed, 10 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
  2025-01-16 18:03   ` Richard Henderson
@ 2025-01-16 19:45   ` Thomas Huth
  1 sibling, 0 replies; 44+ messages in thread
From: Thomas Huth @ 2025-01-16 19:45 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm, Peter Maydell

On 16/01/2025 15.59, Philippe Mathieu-Daudé wrote:
> This machine has been supported for a period of more than 6 years.
> According to our versioned machine support policy (see commit
> ce80c4fa6ff "docs: document special exception for machine type
> deprecation & removal") it can now be removed.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/virt.c | 11 -----------
>   1 file changed, 11 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (12 preceding siblings ...)
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
@ 2025-01-16 21:13 ` Philippe Mathieu-Daudé
  2025-01-17  6:47   ` Thomas Huth
  2025-05-02 13:37 ` Peter Maydell
  14 siblings, 1 reply; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 21:13 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm

Hi Peter,

On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
> The versioned 'virt' machines up to 2.12 been marked as deprecated
> two releases ago, and are older than 6 years, so according to our
> support policy we can remove them. Remove associated dead code.

> Philippe Mathieu-Daudé (13):
>    hw/arm/virt: Remove deprecated virt-2.6 machine
>    hw/arm/virt: Remove VirtMachineClass::no_pmu field
>    hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
>    hw/arm/virt: Remove deprecated virt-2.7 machine
>    hw/arm/virt: Remove VirtMachineClass::no_its field
>    hw/arm/virt: Remove deprecated virt-2.8 machine
>    hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
>      field
>    hw/arm/virt: Remove deprecated virt-2.9 machine
>    hw/arm/virt: Remove deprecated virt-2.10 machine
>    hw/arm/virt: Remove deprecated virt-2.11 machine
>    hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
>    hw/arm/virt: Remove deprecated virt-2.12 machine
>    hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field

Please ignore this (reviewed) series for now. I'll rebase it and
repost after the 10.0 release.

Thanks,

Phil.


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-16 21:13 ` [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
@ 2025-01-17  6:47   ` Thomas Huth
  2025-01-17  8:09     ` Daniel P. Berrangé
  0 siblings, 1 reply; 44+ messages in thread
From: Thomas Huth @ 2025-01-17  6:47 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel, Peter Maydell,
	Daniel P. Berrange
  Cc: Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm

On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
> Hi Peter,
> 
> On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
>> The versioned 'virt' machines up to 2.12 been marked as deprecated
>> two releases ago, and are older than 6 years, so according to our
>> support policy we can remove them. Remove associated dead code.
> 
>> Philippe Mathieu-Daudé (13):
>>    hw/arm/virt: Remove deprecated virt-2.6 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_pmu field
>>    hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
>>    hw/arm/virt: Remove deprecated virt-2.7 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_its field
>>    hw/arm/virt: Remove deprecated virt-2.8 machine
>>    hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
>>      field
>>    hw/arm/virt: Remove deprecated virt-2.9 machine
>>    hw/arm/virt: Remove deprecated virt-2.10 machine
>>    hw/arm/virt: Remove deprecated virt-2.11 machine
>>    hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
>>    hw/arm/virt: Remove deprecated virt-2.12 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
> 
> Please ignore this (reviewed) series for now. I'll rebase it and
> repost after the 10.0 release.

Why? IMHO it should be ok to include them now already. While Daniel's macro 
only starts the automatic disablement for 10.1, it should be ok to remove 
them now already according to our normal deprecation policy: The machines 
have been marked as deprecated in the 9.1 release already (via commit 
https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they 
have been deprecated since two releases already. So it should be fine to 
remove them now, shouldn't it?

  Thomas



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-17  6:47   ` Thomas Huth
@ 2025-01-17  8:09     ` Daniel P. Berrangé
  2025-01-17  8:29       ` Thomas Huth
  2025-01-17  8:44       ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 44+ messages in thread
From: Daniel P. Berrangé @ 2025-01-17  8:09 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Philippe Mathieu-Daudé, qemu-devel, Peter Maydell,
	Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm

On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote:
> On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
> > Hi Peter,
> > 
> > On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
> > > The versioned 'virt' machines up to 2.12 been marked as deprecated
> > > two releases ago, and are older than 6 years, so according to our
> > > support policy we can remove them. Remove associated dead code.
> > 
> > > Philippe Mathieu-Daudé (13):
> > >    hw/arm/virt: Remove deprecated virt-2.6 machine
> > >    hw/arm/virt: Remove VirtMachineClass::no_pmu field
> > >    hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
> > >    hw/arm/virt: Remove deprecated virt-2.7 machine
> > >    hw/arm/virt: Remove VirtMachineClass::no_its field
> > >    hw/arm/virt: Remove deprecated virt-2.8 machine
> > >    hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
> > >      field
> > >    hw/arm/virt: Remove deprecated virt-2.9 machine
> > >    hw/arm/virt: Remove deprecated virt-2.10 machine
> > >    hw/arm/virt: Remove deprecated virt-2.11 machine
> > >    hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
> > >    hw/arm/virt: Remove deprecated virt-2.12 machine
> > >    hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
> > 
> > Please ignore this (reviewed) series for now. I'll rebase it and
> > repost after the 10.0 release.
> 
> Why? IMHO it should be ok to include them now already. While Daniel's macro
> only starts the automatic disablement for 10.1, it should be ok to remove
> them now already according to our normal deprecation policy: The machines
> have been marked as deprecated in the 9.1 release already (via commit
> https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they
> have been deprecated since two releases already. So it should be fine to
> remove them now, shouldn't it?

No, because as of 9.1.0 we documented that machine types are under the
new policy, and these were only deprecated in 9.1.0, hence the new policy
applies to them.
 
With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-17  8:09     ` Daniel P. Berrangé
@ 2025-01-17  8:29       ` Thomas Huth
  2025-01-17 11:01         ` Daniel P. Berrangé
  2025-01-17  8:44       ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 44+ messages in thread
From: Thomas Huth @ 2025-01-17  8:29 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Philippe Mathieu-Daudé, qemu-devel, Peter Maydell,
	Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm

On 17/01/2025 09.09, Daniel P. Berrangé wrote:
> On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote:
>> On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
>>> Hi Peter,
>>>
>>> On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
>>>> The versioned 'virt' machines up to 2.12 been marked as deprecated
>>>> two releases ago, and are older than 6 years, so according to our
>>>> support policy we can remove them. Remove associated dead code.
>>>
>>>> Philippe Mathieu-Daudé (13):
>>>>     hw/arm/virt: Remove deprecated virt-2.6 machine
>>>>     hw/arm/virt: Remove VirtMachineClass::no_pmu field
>>>>     hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
>>>>     hw/arm/virt: Remove deprecated virt-2.7 machine
>>>>     hw/arm/virt: Remove VirtMachineClass::no_its field
>>>>     hw/arm/virt: Remove deprecated virt-2.8 machine
>>>>     hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
>>>>       field
>>>>     hw/arm/virt: Remove deprecated virt-2.9 machine
>>>>     hw/arm/virt: Remove deprecated virt-2.10 machine
>>>>     hw/arm/virt: Remove deprecated virt-2.11 machine
>>>>     hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
>>>>     hw/arm/virt: Remove deprecated virt-2.12 machine
>>>>     hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
>>>
>>> Please ignore this (reviewed) series for now. I'll rebase it and
>>> repost after the 10.0 release.
>>
>> Why? IMHO it should be ok to include them now already. While Daniel's macro
>> only starts the automatic disablement for 10.1, it should be ok to remove
>> them now already according to our normal deprecation policy: The machines
>> have been marked as deprecated in the 9.1 release already (via commit
>> https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they
>> have been deprecated since two releases already. So it should be fine to
>> remove them now, shouldn't it?
> 
> No, because as of 9.1.0 we documented that machine types are under the
> new policy, and these were only deprecated in 9.1.0, hence the new policy
> applies to them.

Hm, I guess we could argue now about the wording (I don't see a spot in 
ce80c4fa6ff that says that this only happens starting with 10.1), but in the 
long run, it doesn't really matter much whether we remove these machines 
with 10.0 already or just with 10.1, so let's go with 10.1 instead.

  Thomas



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-17  8:09     ` Daniel P. Berrangé
  2025-01-17  8:29       ` Thomas Huth
@ 2025-01-17  8:44       ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-17  8:44 UTC (permalink / raw)
  To: Daniel P. Berrangé, Thomas Huth
  Cc: qemu-devel, Peter Maydell, Igor Mammedov, Andrew Jones,
	Shannon Zhao, Michael S. Tsirkin, Ani Sinha, qemu-arm

On 17/1/25 09:09, Daniel P. Berrangé wrote:
> On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote:
>> On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
>>> Hi Peter,
>>>
>>> On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
>>>> The versioned 'virt' machines up to 2.12 been marked as deprecated
>>>> two releases ago, and are older than 6 years, so according to our
>>>> support policy we can remove them. Remove associated dead code.


>>> Please ignore this (reviewed) series for now. I'll rebase it and
>>> repost after the 10.0 release.
>>
>> Why? IMHO it should be ok to include them now already. While Daniel's macro
>> only starts the automatic disablement for 10.1, it should be ok to remove
>> them now already according to our normal deprecation policy: The machines
>> have been marked as deprecated in the 9.1 release already (via commit
>> https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they
>> have been deprecated since two releases already. So it should be fine to
>> remove them now, shouldn't it?
> 
> No, because as of 9.1.0 we documented that machine types are under the
> new policy, and these were only deprecated in 9.1.0, hence the new policy
> applies to them.

Thomas, see Daniel's larger explanation:
https://lore.kernel.org/qemu-devel/Z4jRYiUGAzz1_NRV@redhat.com/


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-17  8:29       ` Thomas Huth
@ 2025-01-17 11:01         ` Daniel P. Berrangé
  0 siblings, 0 replies; 44+ messages in thread
From: Daniel P. Berrangé @ 2025-01-17 11:01 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Philippe Mathieu-Daudé, qemu-devel, Peter Maydell,
	Igor Mammedov, Andrew Jones, Shannon Zhao, Michael S. Tsirkin,
	Ani Sinha, qemu-arm

On Fri, Jan 17, 2025 at 09:29:40AM +0100, Thomas Huth wrote:
> On 17/01/2025 09.09, Daniel P. Berrangé wrote:
> > On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote:
> > > On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
> > > > Hi Peter,
> > > > 
> > > > On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
> > > > > The versioned 'virt' machines up to 2.12 been marked as deprecated
> > > > > two releases ago, and are older than 6 years, so according to our
> > > > > support policy we can remove them. Remove associated dead code.
> > > > 
> > > > > Philippe Mathieu-Daudé (13):
> > > > >     hw/arm/virt: Remove deprecated virt-2.6 machine
> > > > >     hw/arm/virt: Remove VirtMachineClass::no_pmu field
> > > > >     hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
> > > > >     hw/arm/virt: Remove deprecated virt-2.7 machine
> > > > >     hw/arm/virt: Remove VirtMachineClass::no_its field
> > > > >     hw/arm/virt: Remove deprecated virt-2.8 machine
> > > > >     hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
> > > > >       field
> > > > >     hw/arm/virt: Remove deprecated virt-2.9 machine
> > > > >     hw/arm/virt: Remove deprecated virt-2.10 machine
> > > > >     hw/arm/virt: Remove deprecated virt-2.11 machine
> > > > >     hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
> > > > >     hw/arm/virt: Remove deprecated virt-2.12 machine
> > > > >     hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
> > > > 
> > > > Please ignore this (reviewed) series for now. I'll rebase it and
> > > > repost after the 10.0 release.
> > > 
> > > Why? IMHO it should be ok to include them now already. While Daniel's macro
> > > only starts the automatic disablement for 10.1, it should be ok to remove
> > > them now already according to our normal deprecation policy: The machines
> > > have been marked as deprecated in the 9.1 release already (via commit
> > > https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they
> > > have been deprecated since two releases already. So it should be fine to
> > > remove them now, shouldn't it?
> > 
> > No, because as of 9.1.0 we documented that machine types are under the
> > new policy, and these were only deprecated in 9.1.0, hence the new policy
> > applies to them.
> 
> Hm, I guess we could argue now about the wording (I don't see a spot in
> ce80c4fa6ff that says that this only happens starting with 10.1), but in the
> long run, it doesn't really matter much whether we remove these machines
> with 10.0 already or just with 10.1, so let's go with 10.1 instead.

That's the wrong commit - I documented the delayed impl of deletion
in a separate commit, so that we could just revert that part on its
own in 10.1 dev:

  commit c9fd2d9a48ee3c195cf83cc611b87b09f02f0013
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Thu Jun 20 17:57:37 2024 +0100

    include/hw: temporarily disable deletion of versioned machine types
    
    The new deprecation and deletion policy for versioned machine types is
    being introduced in QEMU 9.1.0.
    
    Under the new policy a number of old machine types (any prior to 2.12)
    would be liable for immediate deletion which would be a violation of our
    historical deprecation and removal policy
    
    Thus automatic deletions (by skipping QOM registration) are temporarily
    gated on existance of the env variable "QEMU_DELETE_MACHINES" / QEMU
    version number >= 10.1.0. This allows opt-in testing of the automatic
    deletion logic, while activating it fully in QEMU >= 10.1.0.
    
    This whole commit should be reverted in the 10.1.0 dev cycle or shortly
    thereafter.
    
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Message-ID: <20240620165742.1711389-10-berrange@redhat.com>
    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


If a machine type was deprected *before* the 9.1 release cycle, I think
it is fair game to delete it under the historical deprecation rules.

If a machine type was deprecated in 9.1, or later cycles, I think that
deletion is gated until 10.1.0 under the policy applied by that commit
above.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
  2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
  2025-01-16 15:16   ` Andrew Jones
  2025-01-16 17:47   ` Richard Henderson
@ 2025-04-29 15:45   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-04-29 15:45 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Andrew Jones, Thomas Huth, Shannon Zhao,
	Michael S. Tsirkin, Ani Sinha, qemu-arm, Peter Maydell

On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::disallow_affinity_adjustment
> field was only used by virt-2.6 machine, which got
> removed. Remove it and simplify virt_cpu_mp_affinity().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/hw/arm/virt.h |  1 -
>   hw/arm/virt.c         | 30 +++++++++++++++---------------
>   2 files changed, 15 insertions(+), 16 deletions(-)
> 
> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
> index 27c5bb585cb..5d3b25509ff 100644
> --- a/include/hw/arm/virt.h
> +++ b/include/hw/arm/virt.h
> @@ -117,7 +117,6 @@ typedef enum VirtGICType {
>   
>   struct VirtMachineClass {
>       MachineClass parent;
> -    bool disallow_affinity_adjustment;
>       bool no_its;
>       bool no_tcg_its;
>       bool claim_edge_triggered_timers;
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 0080577e1a9..53f4a96e517 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1759,24 +1759,24 @@ void virt_machine_done(Notifier *notifier, void *data)
>   
>   static uint64_t virt_cpu_mp_affinity(VirtMachineState *vms, int idx)
>   {
> -    uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER;
> +    uint8_t clustersz;
>       VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
>   
> -    if (!vmc->disallow_affinity_adjustment) {
> -        /* Adjust MPIDR like 64-bit KVM hosts, which incorporate the
> -         * GIC's target-list limitations. 32-bit KVM hosts currently
> -         * always create clusters of 4 CPUs, but that is expected to
> -         * change when they gain support for gicv3. When KVM is enabled
> -         * it will override the changes we make here, therefore our
> -         * purposes are to make TCG consistent (with 64-bit KVM hosts)
> -         * and to improve SGI efficiency.
> -         */
> -        if (vms->gic_version == VIRT_GIC_VERSION_2) {
> -            clustersz = GIC_TARGETLIST_BITS;
> -        } else {
> -            clustersz = GICV3_TARGETLIST_BITS;
> -        }
> +    /*
> +     * Adjust MPIDR like 64-bit KVM hosts, which incorporate the
> +     * GIC's target-list limitations. 32-bit KVM hosts currently
> +     * always create clusters of 4 CPUs, but that is expected to
> +     * change when they gain support for gicv3. When KVM is enabled
> +     * it will override the changes we make here, therefore our
> +     * purposes are to make TCG consistent (with 64-bit KVM hosts)
> +     * and to improve SGI efficiency.
> +     */
> +    if (vms->gic_version == VIRT_GIC_VERSION_2) {
> +        clustersz = GIC_TARGETLIST_BITS;
> +    } else {
> +        clustersz = GICV3_TARGETLIST_BITS;
>       }
> +
>       return arm_build_mp_affinity(idx, clustersz);
>   }
>   

Missing:

-- >8 --
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f4e5a93f0c5..9a6cd085a37 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1766,3 +1766,2 @@ static uint64_t 
virt_cpu_mp_affinity(VirtMachineState *vms, int idx)
      uint8_t clustersz;
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
---


^ permalink raw reply related	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
                   ` (13 preceding siblings ...)
  2025-01-16 21:13 ` [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
@ 2025-05-02 13:37 ` Peter Maydell
  2025-05-02 14:58   ` Philippe Mathieu-Daudé
  14 siblings, 1 reply; 44+ messages in thread
From: Peter Maydell @ 2025-05-02 13:37 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Igor Mammedov, Andrew Jones, Thomas Huth,
	Shannon Zhao, Michael S. Tsirkin, Ani Sinha, qemu-arm

On Thu, 16 Jan 2025 at 14:59, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> The versioned 'virt' machines up to 2.12 been marked as deprecated
> two releases ago, and are older than 6 years, so according to our
> support policy we can remove them. Remove associated dead code.
>
> Since v1:
> - Corrected disallow_affinity_adjustment removal (Thomas)
> - Do not modify docs/about/removed-features.rst (Thomas & Daniel)
>
> Philippe Mathieu-Daudé (13):
>   hw/arm/virt: Remove deprecated virt-2.6 machine
>   hw/arm/virt: Remove VirtMachineClass::no_pmu field
>   hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
>   hw/arm/virt: Remove deprecated virt-2.7 machine
>   hw/arm/virt: Remove VirtMachineClass::no_its field
>   hw/arm/virt: Remove deprecated virt-2.8 machine
>   hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
>     field
>   hw/arm/virt: Remove deprecated virt-2.9 machine
>   hw/arm/virt: Remove deprecated virt-2.10 machine
>   hw/arm/virt: Remove deprecated virt-2.11 machine
>   hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
>   hw/arm/virt: Remove deprecated virt-2.12 machine
>   hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field

Applied to target-arm.next, thanks (with the tweak RTH points
out to avoid a compilation failure in patch 3).

-- PMM


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines
  2025-05-02 13:37 ` Peter Maydell
@ 2025-05-02 14:58   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-05-02 14:58 UTC (permalink / raw)
  To: Peter Maydell
  Cc: qemu-devel, Igor Mammedov, Andrew Jones, Thomas Huth,
	Shannon Zhao, Michael S. Tsirkin, Ani Sinha, qemu-arm

On 2/5/25 15:37, Peter Maydell wrote:
> On Thu, 16 Jan 2025 at 14:59, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> The versioned 'virt' machines up to 2.12 been marked as deprecated
>> two releases ago, and are older than 6 years, so according to our
>> support policy we can remove them. Remove associated dead code.
>>
>> Since v1:
>> - Corrected disallow_affinity_adjustment removal (Thomas)
>> - Do not modify docs/about/removed-features.rst (Thomas & Daniel)
>>
>> Philippe Mathieu-Daudé (13):
>>    hw/arm/virt: Remove deprecated virt-2.6 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_pmu field
>>    hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
>>    hw/arm/virt: Remove deprecated virt-2.7 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_its field
>>    hw/arm/virt: Remove deprecated virt-2.8 machine
>>    hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
>>      field
>>    hw/arm/virt: Remove deprecated virt-2.9 machine
>>    hw/arm/virt: Remove deprecated virt-2.10 machine
>>    hw/arm/virt: Remove deprecated virt-2.11 machine
>>    hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
>>    hw/arm/virt: Remove deprecated virt-2.12 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
> 
> Applied to target-arm.next, thanks (with the tweak RTH points
> out to avoid a compilation failure in patch 3).

Thank you for tweaking :)


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2025-05-02 14:59 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-16 14:59 [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
2025-01-16 14:59 ` [PATCH-for-10.1 v2 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
2025-01-16 17:42   ` Richard Henderson
2025-01-16 14:59 ` [PATCH-for-10.1 v2 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
2025-01-16 17:44   ` Richard Henderson
2025-01-16 14:59 ` [PATCH-for-10.1 v2 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
2025-01-16 15:16   ` Andrew Jones
2025-01-16 19:37     ` Thomas Huth
2025-01-16 17:47   ` Richard Henderson
2025-04-29 15:45   ` Philippe Mathieu-Daudé
2025-01-16 14:59 ` [PATCH-for-10.1 v2 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
2025-01-16 17:47   ` Richard Henderson
2025-01-16 19:37   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
2025-01-16 17:54   ` Richard Henderson
2025-01-16 14:59 ` [PATCH-for-10.1 v2 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
2025-01-16 17:56   ` Richard Henderson
2025-01-16 19:39   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
2025-01-16 17:58   ` Richard Henderson
2025-01-16 14:59 ` [PATCH-for-10.1 v2 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
2025-01-16 17:58   ` Richard Henderson
2025-01-16 19:40   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
2025-01-16 17:59   ` Richard Henderson
2025-01-16 19:41   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
2025-01-16 18:03   ` Richard Henderson
2025-01-16 19:45   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
2025-01-16 18:03   ` Richard Henderson
2025-01-16 14:59 ` [PATCH-for-10.1 v2 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
2025-01-16 18:03   ` Richard Henderson
2025-01-16 19:45   ` Thomas Huth
2025-01-16 14:59 ` [PATCH-for-10.1 v2 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
2025-01-16 18:04   ` Richard Henderson
2025-01-16 21:13 ` [PATCH-for-10.1 v2 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
2025-01-17  6:47   ` Thomas Huth
2025-01-17  8:09     ` Daniel P. Berrangé
2025-01-17  8:29       ` Thomas Huth
2025-01-17 11:01         ` Daniel P. Berrangé
2025-01-17  8:44       ` Philippe Mathieu-Daudé
2025-05-02 13:37 ` Peter Maydell
2025-05-02 14:58   ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).