qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines
@ 2025-10-17 13:07 Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 01/20] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
                   ` (20 more replies)
  0 siblings, 21 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

Remove the deprecated virt-4.1 up to virt-7.2 machines,
which are older than 6 years. Remove resulting dead code.

Philippe Mathieu-Daudé (20):
  hw/arm/virt: Remove deprecated virt-4.1 machine
  hw/arm/virt: Remove VirtMachineClass::no_ged field
  hw/arm/virt: Remove deprecated virt-4.2 machine
  hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field
  hw/arm/virt: Remove deprecated virt-5.0 machine
  hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field
  hw/arm/virt: Remove deprecated virt-5.1 machine
  hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field
  hw/arm/virt: Remove deprecated virt-5.2 machine
  hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field
  hw/arm/virt: Remove deprecated virt-6.0 machine
  hw/arm/virt: Remove deprecated virt-6.1 machine
  hw/arm/virt: Remove VirtMachineClass::no_tcg_its field
  hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field
  hw/arm/virt: Remove deprecated virt-6.2 machine
  hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field
  hw/arm/virt: Remove deprecated virt-7.0 machine
  hw/arm/virt: Remove deprecated virt-7.1 machine
  hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field
  hw/arm/virt: Remove deprecated virt-7.2 machine

 include/hw/arm/virt.h    |  11 --
 hw/arm/virt-acpi-build.c |  37 +------
 hw/arm/virt.c            | 228 ++++++++-------------------------------
 3 files changed, 50 insertions(+), 226 deletions(-)

-- 
2.51.0



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

* [PATCH 01/20] hw/arm/virt: Remove deprecated virt-4.1 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 02/20] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 175023897a7..ed81f3fe8d8 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3701,14 +3701,3 @@ static void virt_machine_4_2_options(MachineClass *mc)
     vmc->kvm_no_adjvtime = true;
 }
 DEFINE_VIRT_MACHINE(4, 2)
-
-static void virt_machine_4_1_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_4_2_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_4_1, hw_compat_4_1_len);
-    vmc->no_ged = true;
-    mc->auto_enable_numa_with_memhp = false;
-}
-DEFINE_VIRT_MACHINE(4, 1)
-- 
2.51.0



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

* [PATCH 02/20] hw/arm/virt: Remove VirtMachineClass::no_ged field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 01/20] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 03/20] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_ged field was only used by virt-4.1
machine, which got removed. Remove it as now unused.

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

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 04a09af3540..993872bb680 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -123,7 +123,6 @@ struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
     bool no_highmem_compact;
-    bool no_ged;   /* Machines < 4.2 have no support for ACPI GED device */
     bool kvm_no_adjvtime;
     bool no_kvm_steal_time;
     bool acpi_expose_flash;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index ed81f3fe8d8..2eda2d43974 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2210,7 +2210,6 @@ static void machvirt_init(MachineState *machine)
     int n, virt_max_cpus;
     bool firmware_loaded;
     bool aarch64 = true;
-    bool has_ged = !vmc->no_ged;
     unsigned int smp_cpus = machine->smp.cpus;
     unsigned int max_cpus = machine->smp.max_cpus;
 
@@ -2512,7 +2511,7 @@ static void machvirt_init(MachineState *machine)
     create_pcie(vms);
     create_cxl_host_reg_region(vms);
 
-    if (has_ged && aarch64 && firmware_loaded && virt_is_acpi_enabled(vms)) {
+    if (aarch64 && firmware_loaded && virt_is_acpi_enabled(vms)) {
         vms->acpi_dev = create_acpi_ged(vms);
         vms->generic_error_notifier.notify = virt_generic_error_req;
         notifier_list_add(&acpi_generic_error_notifiers,
-- 
2.51.0



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

* [PATCH 03/20] hw/arm/virt: Remove deprecated virt-4.2 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 01/20] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 02/20] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 04/20] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 2eda2d43974..b781a218019 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3690,13 +3690,3 @@ static void virt_machine_5_0_options(MachineClass *mc)
     mc->auto_enable_numa_with_memdev = false;
 }
 DEFINE_VIRT_MACHINE(5, 0)
-
-static void virt_machine_4_2_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_5_0_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_4_2, hw_compat_4_2_len);
-    vmc->kvm_no_adjvtime = true;
-}
-DEFINE_VIRT_MACHINE(4, 2)
-- 
2.51.0



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

* [PATCH 04/20] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 03/20] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 05/20] hw/arm/virt: Remove deprecated virt-5.0 machine Philippe Mathieu-Daudé
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::kvm_no_adjvtime field was only used by the
virt-4.2 machine, which got removed. Remove it as now unused, but
keep the ARMCPU homonym property.

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

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 993872bb680..c77a33f6df2 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -123,7 +123,6 @@ struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
     bool no_highmem_compact;
-    bool kvm_no_adjvtime;
     bool no_kvm_steal_time;
     bool acpi_expose_flash;
     bool no_secure_gpio;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index b781a218019..ffbddb711f6 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2362,11 +2362,6 @@ static void machvirt_init(MachineState *machine)
             object_property_set_bool(cpuobj, "has_el2", false, NULL);
         }
 
-        if (vmc->kvm_no_adjvtime &&
-            object_property_find(cpuobj, "kvm-no-adjvtime")) {
-            object_property_set_bool(cpuobj, "kvm-no-adjvtime", true, NULL);
-        }
-
         if (vmc->no_kvm_steal_time &&
             object_property_find(cpuobj, "kvm-steal-time")) {
             object_property_set_bool(cpuobj, "kvm-steal-time", false, NULL);
-- 
2.51.0



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

* [PATCH 05/20] hw/arm/virt: Remove deprecated virt-5.0 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 04/20] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 06/20] hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field Philippe Mathieu-Daudé
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index ffbddb711f6..953b2e5a94f 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3673,15 +3673,3 @@ static void virt_machine_5_1_options(MachineClass *mc)
     vmc->no_kvm_steal_time = true;
 }
 DEFINE_VIRT_MACHINE(5, 1)
-
-static void virt_machine_5_0_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_5_1_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_5_0, hw_compat_5_0_len);
-    mc->numa_mem_supported = true;
-    vmc->acpi_expose_flash = true;
-    mc->auto_enable_numa_with_memdev = false;
-}
-DEFINE_VIRT_MACHINE(5, 0)
-- 
2.51.0



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

* [PATCH 06/20] hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 05/20] hw/arm/virt: Remove deprecated virt-5.0 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 07/20] hw/arm/virt: Remove deprecated virt-5.1 machine Philippe Mathieu-Daudé
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::acpi_expose_flash field was only used by
the virt-5.0 machine, which got removed (see commit 2c1fb4d5c01
"hw/arm/virt-acpi-build: Only expose flash on older machine types"
for more context). Remove it as now unused.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/arm/virt.h    |  1 -
 hw/arm/virt-acpi-build.c | 28 ----------------------------
 2 files changed, 29 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index c77a33f6df2..ba16acb8626 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -124,7 +124,6 @@ struct VirtMachineClass {
     bool no_tcg_its;
     bool no_highmem_compact;
     bool no_kvm_steal_time;
-    bool acpi_expose_flash;
     bool no_secure_gpio;
     /* Machines < 6.2 have no support for describing cpu topology to guest */
     bool no_cpu_topology;
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 8bb6b605154..5db5baa7cf3 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -99,30 +99,6 @@ static void acpi_dsdt_add_uart(Aml *scope, const MemMapEntry *uart_memmap,
     aml_append(scope, dev);
 }
 
-static void acpi_dsdt_add_flash(Aml *scope, const MemMapEntry *flash_memmap)
-{
-    Aml *dev, *crs;
-    hwaddr base = flash_memmap->base;
-    hwaddr size = flash_memmap->size / 2;
-
-    dev = aml_device("FLS0");
-    aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0015")));
-    aml_append(dev, aml_name_decl("_UID", aml_int(0)));
-
-    crs = aml_resource_template();
-    aml_append(crs, aml_memory32_fixed(base, size, AML_READ_WRITE));
-    aml_append(dev, aml_name_decl("_CRS", crs));
-    aml_append(scope, dev);
-
-    dev = aml_device("FLS1");
-    aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0015")));
-    aml_append(dev, aml_name_decl("_UID", aml_int(1)));
-    crs = aml_resource_template();
-    aml_append(crs, aml_memory32_fixed(base + size, size, AML_READ_WRITE));
-    aml_append(dev, aml_name_decl("_CRS", crs));
-    aml_append(scope, dev);
-}
-
 static void build_acpi0017(Aml *table)
 {
     Aml *dev, *scope, *method;
@@ -1011,7 +987,6 @@ static void build_fadt_rev6(GArray *table_data, BIOSLinker *linker,
 static void
 build_dsdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
 {
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     Aml *scope, *dsdt;
     MachineState *ms = MACHINE(vms);
     const MemMapEntry *memmap = vms->memmap;
@@ -1036,9 +1011,6 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms)
         acpi_dsdt_add_uart(scope, &memmap[VIRT_UART1],
                            (irqmap[VIRT_UART1] + ARM_SPI_BASE), 1);
     }
-    if (vmc->acpi_expose_flash) {
-        acpi_dsdt_add_flash(scope, &memmap[VIRT_FLASH]);
-    }
     fw_cfg_acpi_dsdt_add(scope, &memmap[VIRT_FW_CFG]);
     virtio_acpi_dsdt_add(scope, memmap[VIRT_MMIO].base, memmap[VIRT_MMIO].size,
                          (irqmap[VIRT_MMIO] + ARM_SPI_BASE),
-- 
2.51.0



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

* [PATCH 07/20] hw/arm/virt: Remove deprecated virt-5.1 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 06/20] hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 08/20] hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field Philippe Mathieu-Daudé
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 953b2e5a94f..b7ea180bcf0 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3663,13 +3663,3 @@ static void virt_machine_5_2_options(MachineClass *mc)
     vmc->no_secure_gpio = true;
 }
 DEFINE_VIRT_MACHINE(5, 2)
-
-static void virt_machine_5_1_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_5_2_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len);
-    vmc->no_kvm_steal_time = true;
-}
-DEFINE_VIRT_MACHINE(5, 1)
-- 
2.51.0



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

* [PATCH 08/20] hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 07/20] hw/arm/virt: Remove deprecated virt-5.1 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 09/20] hw/arm/virt: Remove deprecated virt-5.2 machine Philippe Mathieu-Daudé
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_kvm_steal_time field was only used by
the virt-5.1 machine, which got removed. Remove it as now unused,
but keep the ARMCPU "kvm-steal-time" property.

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

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index ba16acb8626..96f3569c290 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -123,7 +123,6 @@ struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
     bool no_highmem_compact;
-    bool no_kvm_steal_time;
     bool no_secure_gpio;
     /* Machines < 6.2 have no support for describing cpu topology to guest */
     bool no_cpu_topology;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index b7ea180bcf0..cd0df096de9 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2362,11 +2362,6 @@ static void machvirt_init(MachineState *machine)
             object_property_set_bool(cpuobj, "has_el2", false, NULL);
         }
 
-        if (vmc->no_kvm_steal_time &&
-            object_property_find(cpuobj, "kvm-steal-time")) {
-            object_property_set_bool(cpuobj, "kvm-steal-time", false, NULL);
-        }
-
         if (vmc->no_tcg_lpa2 && object_property_find(cpuobj, "lpa2")) {
             object_property_set_bool(cpuobj, "lpa2", false, NULL);
         }
-- 
2.51.0



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

* [PATCH 09/20] hw/arm/virt: Remove deprecated virt-5.2 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 08/20] hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 10/20] hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field Philippe Mathieu-Daudé
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 cd0df096de9..e49af505431 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3648,13 +3648,3 @@ static void virt_machine_6_0_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_6_0, hw_compat_6_0_len);
 }
 DEFINE_VIRT_MACHINE(6, 0)
-
-static void virt_machine_5_2_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_6_0_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_5_2, hw_compat_5_2_len);
-    vmc->no_secure_gpio = true;
-}
-DEFINE_VIRT_MACHINE(5, 2)
-- 
2.51.0



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

* [PATCH 10/20] hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 09/20] hw/arm/virt: Remove deprecated virt-5.2 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 11/20] hw/arm/virt: Remove deprecated virt-6.0 machine Philippe Mathieu-Daudé
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_secure_gpio field was
only used by virt-5.2 machine, which got removed.
Remove it as now unused.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 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 96f3569c290..c5ccd6ec9ea 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -123,7 +123,6 @@ struct VirtMachineClass {
     MachineClass parent;
     bool no_tcg_its;
     bool no_highmem_compact;
-    bool no_secure_gpio;
     /* Machines < 6.2 have no support for describing cpu topology to guest */
     bool no_cpu_topology;
     bool no_tcg_lpa2;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index e49af505431..33c0034b030 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2510,7 +2510,7 @@ static void machvirt_init(MachineState *machine)
         create_gpio_devices(vms, VIRT_GPIO, sysmem);
     }
 
-    if (vms->secure && !vmc->no_secure_gpio) {
+    if (vms->secure) {
         create_gpio_devices(vms, VIRT_SECURE_GPIO, secure_sysmem);
     }
 
-- 
2.51.0



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

* [PATCH 11/20] hw/arm/virt: Remove deprecated virt-6.0 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 10/20] hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 12/20] hw/arm/virt: Remove deprecated virt-6.1 machine Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 33c0034b030..f928a73272d 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3641,10 +3641,3 @@ static void virt_machine_6_1_options(MachineClass *mc)
     vmc->no_tcg_its = true;
 }
 DEFINE_VIRT_MACHINE(6, 1)
-
-static void virt_machine_6_0_options(MachineClass *mc)
-{
-    virt_machine_6_1_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_6_0, hw_compat_6_0_len);
-}
-DEFINE_VIRT_MACHINE(6, 0)
-- 
2.51.0



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

* [PATCH 12/20] hw/arm/virt: Remove deprecated virt-6.1 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (10 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 11/20] hw/arm/virt: Remove deprecated virt-6.0 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 13/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_its field Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f928a73272d..f23283e6ddd 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3627,17 +3627,3 @@ static void virt_machine_6_2_options(MachineClass *mc)
     vmc->no_tcg_lpa2 = true;
 }
 DEFINE_VIRT_MACHINE(6, 2)
-
-static void virt_machine_6_1_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_6_2_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
-    mc->smp_props.prefer_sockets = true;
-    vmc->no_cpu_topology = true;
-
-    /* qemu ITS was introduced with 6.2 */
-    vmc->no_tcg_its = true;
-}
-DEFINE_VIRT_MACHINE(6, 1)
-- 
2.51.0



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

* [PATCH 13/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_its field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (11 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 12/20] hw/arm/virt: Remove deprecated virt-6.1 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 14/20] hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_tcg_its field was only used by the
virt-6.1 machine, which got removed.  Remove it as now unused,
along with the VirtMachineState::tcg_its field.

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

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index c5ccd6ec9ea..21d91a43d8b 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -121,7 +121,6 @@ typedef enum VirtGICType {
 
 struct VirtMachineClass {
     MachineClass parent;
-    bool no_tcg_its;
     bool no_highmem_compact;
     /* Machines < 6.2 have no support for describing cpu topology to guest */
     bool no_cpu_topology;
@@ -144,7 +143,6 @@ struct VirtMachineState {
     bool highmem_mmio;
     bool highmem_redists;
     bool its;
-    bool tcg_its;
     bool virt;
     bool ras;
     bool mte;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f23283e6ddd..3e7858d6e11 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -735,7 +735,7 @@ static void create_its(VirtMachineState *vms)
     DeviceState *dev;
 
     assert(vms->its);
-    if (!kvm_irqchip_in_kernel() && !vms->tcg_its) {
+    if (!kvm_irqchip_in_kernel()) {
         /*
          * Do nothing if ITS is neither supported by the host nor emulated by
          * the machine.
@@ -857,11 +857,9 @@ static void create_gic(VirtMachineState *vms, MemoryRegion *mem)
                             redist_region_count);
 
         if (!kvm_irqchip_in_kernel()) {
-            if (vms->tcg_its) {
-                object_property_set_link(OBJECT(vms->gic), "sysmem",
-                                         OBJECT(mem), &error_fatal);
-                qdev_prop_set_bit(vms->gic, "has-lpi", true);
-            }
+            object_property_set_link(OBJECT(vms->gic), "sysmem",
+                                     OBJECT(mem), &error_fatal);
+            qdev_prop_set_bit(vms->gic, "has-lpi", true);
         } else if (vms->virt) {
             qdev_prop_set_uint32(vms->gic, "maintenance-interrupt-id",
                                  ARCH_GIC_MAINT_IRQ);
@@ -3471,8 +3469,6 @@ static void virt_instance_init(Object *obj)
 
     /* Default allows ITS instantiation */
     vms->its = true;
-    /* Allow ITS emulation if the machine version supports it */
-    vms->tcg_its = !vmc->no_tcg_its;
 
     /* Default disallows iommu instantiation */
     vms->iommu = VIRT_IOMMU_NONE;
-- 
2.51.0



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

* [PATCH 14/20] hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (12 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 13/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_its field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 15/20] hw/arm/virt: Remove deprecated virt-6.2 machine Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_cpu_topology field was
only used by virt-6.1 machine, which got removed.
Remove it as now unused.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/arm/virt.h    |  2 -
 hw/arm/virt-acpi-build.c |  9 ++---
 hw/arm/virt.c            | 85 +++++++++++++++++++---------------------
 3 files changed, 43 insertions(+), 53 deletions(-)

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 21d91a43d8b..ca2e59ec569 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -122,8 +122,6 @@ typedef enum VirtGICType {
 struct VirtMachineClass {
     MachineClass parent;
     bool no_highmem_compact;
-    /* Machines < 6.2 have no support for describing cpu topology to guest */
-    bool no_cpu_topology;
     bool no_tcg_lpa2;
     bool no_ns_el2_virt_timer_irq;
     bool no_nested_smmu;
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 5db5baa7cf3..8d40570c1e3 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -1110,7 +1110,6 @@ static const AcpiNotificationSourceId hest_ghes_notify_10_0[] = {
 static
 void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
 {
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     GArray *table_offsets;
     unsigned dsdt, xsdt;
     GArray *tables_blob = tables->table_data;
@@ -1134,11 +1133,9 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
     acpi_add_table(table_offsets, tables_blob);
     build_madt(tables_blob, tables->linker, vms);
 
-    if (!vmc->no_cpu_topology) {
-        acpi_add_table(table_offsets, tables_blob);
-        build_pptt(tables_blob, tables->linker, ms,
-                   vms->oem_id, vms->oem_table_id);
-    }
+    acpi_add_table(table_offsets, tables_blob);
+    build_pptt(tables_blob, tables->linker, ms,
+               vms->oem_id, vms->oem_table_id);
 
     acpi_add_table(table_offsets, tables_blob);
     build_gtdt(tables_blob, tables->linker, vms);
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 3e7858d6e11..4243da3c87e 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -431,7 +431,6 @@ static void fdt_add_cpu_nodes(const VirtMachineState *vms)
     int cpu;
     int addr_cells = 1;
     const MachineState *ms = MACHINE(vms);
-    const VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
     int smp_cpus = ms->smp.cpus;
 
     /*
@@ -488,57 +487,53 @@ static void fdt_add_cpu_nodes(const VirtMachineState *vms)
                 ms->possible_cpus->cpus[cs->cpu_index].props.node_id);
         }
 
-        if (!vmc->no_cpu_topology) {
-            qemu_fdt_setprop_cell(ms->fdt, nodename, "phandle",
-                                  qemu_fdt_alloc_phandle(ms->fdt));
-        }
+        qemu_fdt_setprop_cell(ms->fdt, nodename, "phandle",
+                              qemu_fdt_alloc_phandle(ms->fdt));
 
         g_free(nodename);
     }
 
-    if (!vmc->no_cpu_topology) {
-        /*
-         * Add vCPU topology description through fdt node cpu-map.
-         *
-         * See Linux Documentation/devicetree/bindings/cpu/cpu-topology.txt
-         * In a SMP system, the hierarchy of CPUs can be defined through
-         * four entities that are used to describe the layout of CPUs in
-         * the system: socket/cluster/core/thread.
-         *
-         * A socket node represents the boundary of system physical package
-         * and its child nodes must be one or more cluster nodes. A system
-         * can contain several layers of clustering within a single physical
-         * package and cluster nodes can be contained in parent cluster nodes.
-         *
-         * Note: currently we only support one layer of clustering within
-         * each physical package.
-         */
-        qemu_fdt_add_subnode(ms->fdt, "/cpus/cpu-map");
+    /*
+     * Add vCPU topology description through fdt node cpu-map.
+     *
+     * See Linux Documentation/devicetree/bindings/cpu/cpu-topology.txt
+     * In a SMP system, the hierarchy of CPUs can be defined through
+     * four entities that are used to describe the layout of CPUs in
+     * the system: socket/cluster/core/thread.
+     *
+     * A socket node represents the boundary of system physical package
+     * and its child nodes must be one or more cluster nodes. A system
+     * can contain several layers of clustering within a single physical
+     * package and cluster nodes can be contained in parent cluster nodes.
+     *
+     * Note: currently we only support one layer of clustering within
+     * each physical package.
+     */
+    qemu_fdt_add_subnode(ms->fdt, "/cpus/cpu-map");
 
-        for (cpu = smp_cpus - 1; cpu >= 0; cpu--) {
-            char *cpu_path = g_strdup_printf("/cpus/cpu@%d", cpu);
-            char *map_path;
+    for (cpu = smp_cpus - 1; cpu >= 0; cpu--) {
+        char *cpu_path = g_strdup_printf("/cpus/cpu@%d", cpu);
+        char *map_path;
 
-            if (ms->smp.threads > 1) {
-                map_path = g_strdup_printf(
-                    "/cpus/cpu-map/socket%d/cluster%d/core%d/thread%d",
-                    cpu / (ms->smp.clusters * ms->smp.cores * ms->smp.threads),
-                    (cpu / (ms->smp.cores * ms->smp.threads)) % ms->smp.clusters,
-                    (cpu / ms->smp.threads) % ms->smp.cores,
-                    cpu % ms->smp.threads);
-            } else {
-                map_path = g_strdup_printf(
-                    "/cpus/cpu-map/socket%d/cluster%d/core%d",
-                    cpu / (ms->smp.clusters * ms->smp.cores),
-                    (cpu / ms->smp.cores) % ms->smp.clusters,
-                    cpu % ms->smp.cores);
-            }
-            qemu_fdt_add_path(ms->fdt, map_path);
-            qemu_fdt_setprop_phandle(ms->fdt, map_path, "cpu", cpu_path);
-
-            g_free(map_path);
-            g_free(cpu_path);
+        if (ms->smp.threads > 1) {
+            map_path = g_strdup_printf(
+                "/cpus/cpu-map/socket%d/cluster%d/core%d/thread%d",
+                cpu / (ms->smp.clusters * ms->smp.cores * ms->smp.threads),
+                (cpu / (ms->smp.cores * ms->smp.threads)) % ms->smp.clusters,
+                (cpu / ms->smp.threads) % ms->smp.cores,
+                cpu % ms->smp.threads);
+        } else {
+            map_path = g_strdup_printf(
+                "/cpus/cpu-map/socket%d/cluster%d/core%d",
+                cpu / (ms->smp.clusters * ms->smp.cores),
+                (cpu / ms->smp.cores) % ms->smp.clusters,
+                cpu % ms->smp.cores);
         }
+        qemu_fdt_add_path(ms->fdt, map_path);
+        qemu_fdt_setprop_phandle(ms->fdt, map_path, "cpu", cpu_path);
+
+        g_free(map_path);
+        g_free(cpu_path);
     }
 }
 
-- 
2.51.0



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

* [PATCH 15/20] hw/arm/virt: Remove deprecated virt-6.2 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (13 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 14/20] hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 16/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 4243da3c87e..d9ec61e7354 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3608,13 +3608,3 @@ static void virt_machine_7_0_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_7_0, hw_compat_7_0_len);
 }
 DEFINE_VIRT_MACHINE(7, 0)
-
-static void virt_machine_6_2_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_7_0_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_6_2, hw_compat_6_2_len);
-    vmc->no_tcg_lpa2 = true;
-}
-DEFINE_VIRT_MACHINE(6, 2)
-- 
2.51.0



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

* [PATCH 16/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (14 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 15/20] hw/arm/virt: Remove deprecated virt-6.2 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 17/20] hw/arm/virt: Remove deprecated virt-7.0 machine Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_tcg_lpa2 field was
only used by virt-7.1 machine, which got removed.
Remove it as now unused.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 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 ca2e59ec569..ddbd2d78209 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -122,7 +122,6 @@ typedef enum VirtGICType {
 struct VirtMachineClass {
     MachineClass parent;
     bool no_highmem_compact;
-    bool no_tcg_lpa2;
     bool no_ns_el2_virt_timer_irq;
     bool no_nested_smmu;
 };
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index d9ec61e7354..eb0e0e1bee3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2355,10 +2355,6 @@ static void machvirt_init(MachineState *machine)
             object_property_set_bool(cpuobj, "has_el2", false, NULL);
         }
 
-        if (vmc->no_tcg_lpa2 && object_property_find(cpuobj, "lpa2")) {
-            object_property_set_bool(cpuobj, "lpa2", false, NULL);
-        }
-
         if (object_property_find(cpuobj, "reset-cbar")) {
             object_property_set_int(cpuobj, "reset-cbar",
                                     vms->memmap[VIRT_CPUPERIPHS].base,
-- 
2.51.0



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

* [PATCH 17/20] hw/arm/virt: Remove deprecated virt-7.0 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (15 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 16/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 18/20] hw/arm/virt: Remove deprecated virt-7.1 machine Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 eb0e0e1bee3..7218badc8c7 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3597,10 +3597,3 @@ static void virt_machine_7_1_options(MachineClass *mc)
     vmc->no_highmem_compact = true;
 }
 DEFINE_VIRT_MACHINE(7, 1)
-
-static void virt_machine_7_0_options(MachineClass *mc)
-{
-    virt_machine_7_1_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_7_0, hw_compat_7_0_len);
-}
-DEFINE_VIRT_MACHINE(7, 0)
-- 
2.51.0



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

* [PATCH 18/20] hw/arm/virt: Remove deprecated virt-7.1 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (16 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 17/20] hw/arm/virt: Remove deprecated virt-7.0 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 19/20] hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 7218badc8c7..4a8a2a91b07 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3586,14 +3586,3 @@ static void virt_machine_7_2_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_7_2, hw_compat_7_2_len);
 }
 DEFINE_VIRT_MACHINE(7, 2)
-
-static void virt_machine_7_1_options(MachineClass *mc)
-{
-    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-
-    virt_machine_7_2_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_7_1, hw_compat_7_1_len);
-    /* Compact layout for high memory regions was introduced with 7.2 */
-    vmc->no_highmem_compact = true;
-}
-DEFINE_VIRT_MACHINE(7, 1)
-- 
2.51.0



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

* [PATCH 19/20] hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (17 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 18/20] hw/arm/virt: Remove deprecated virt-7.1 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:08 ` [PATCH 20/20] hw/arm/virt: Remove deprecated virt-7.2 machine Philippe Mathieu-Daudé
  2025-10-17 13:18 ` [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Daniel P. Berrangé
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, Peter Maydell,
	Philippe Mathieu-Daudé

The VirtMachineClass::no_highmem_compact field was
only used by virt-7.1 machine, which got removed.
Remove it as now unused.

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

diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index ddbd2d78209..0d2a951cf08 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -121,7 +121,6 @@ typedef enum VirtGICType {
 
 struct VirtMachineClass {
     MachineClass parent;
-    bool no_highmem_compact;
     bool no_ns_el2_virt_timer_irq;
     bool no_nested_smmu;
 };
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 4a8a2a91b07..651ad4b5f63 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3438,7 +3438,6 @@ static void virt_machine_class_init(ObjectClass *oc, const void *data)
 static void virt_instance_init(Object *obj)
 {
     VirtMachineState *vms = VIRT_MACHINE(obj);
-    VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
 
     /* EL3 is disabled by default on virt: this makes us consistent
      * between KVM and TCG for this board, and it also allows us to
@@ -3451,7 +3450,7 @@ static void virt_instance_init(Object *obj)
 
     /* High memory is enabled by default */
     vms->highmem = true;
-    vms->highmem_compact = !vmc->no_highmem_compact;
+    vms->highmem_compact = true;
     vms->gic_version = VIRT_GIC_VERSION_NOSEL;
 
     vms->highmem_ecam = true;
-- 
2.51.0



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

* [PATCH 20/20] hw/arm/virt: Remove deprecated virt-7.2 machine
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (18 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 19/20] hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field Philippe Mathieu-Daudé
@ 2025-10-17 13:08 ` Philippe Mathieu-Daudé
  2025-10-17 13:18 ` [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Daniel P. Berrangé
  20 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Igor Mammedov, Andrew Jones, Ani Sinha,
	qemu-arm, Shannon Zhao, 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 651ad4b5f63..2da5b014e2a 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3578,10 +3578,3 @@ static void virt_machine_8_0_options(MachineClass *mc)
     compat_props_add(mc->compat_props, hw_compat_8_0, hw_compat_8_0_len);
 }
 DEFINE_VIRT_MACHINE(8, 0)
-
-static void virt_machine_7_2_options(MachineClass *mc)
-{
-    virt_machine_8_0_options(mc);
-    compat_props_add(mc->compat_props, hw_compat_7_2, hw_compat_7_2_len);
-}
-DEFINE_VIRT_MACHINE(7, 2)
-- 
2.51.0



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

* Re: [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines
  2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
                   ` (19 preceding siblings ...)
  2025-10-17 13:08 ` [PATCH 20/20] hw/arm/virt: Remove deprecated virt-7.2 machine Philippe Mathieu-Daudé
@ 2025-10-17 13:18 ` Daniel P. Berrangé
  2025-10-17 13:39   ` Philippe Mathieu-Daudé
  20 siblings, 1 reply; 23+ messages in thread
From: Daniel P. Berrangé @ 2025-10-17 13:18 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Michael S. Tsirkin, Igor Mammedov, Andrew Jones,
	Ani Sinha, qemu-arm, Shannon Zhao, Peter Maydell

On Fri, Oct 17, 2025 at 03:07:59PM +0200, Philippe Mathieu-Daudé wrote:
> Remove the deprecated virt-4.1 up to virt-7.2 machines,
> which are older than 6 years. Remove resulting dead code.

Nope, that's too aggressive here too. Only the 4.1/4.2 machines
can be removed. The others are all still reported as being valid
machines with '-machine help' - they'll be automatically removed
from that list once their expiry release cycle is started.

> 
> Philippe Mathieu-Daudé (20):
>   hw/arm/virt: Remove deprecated virt-4.1 machine
>   hw/arm/virt: Remove VirtMachineClass::no_ged field
>   hw/arm/virt: Remove deprecated virt-4.2 machine
>   hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field
>   hw/arm/virt: Remove deprecated virt-5.0 machine
>   hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field
>   hw/arm/virt: Remove deprecated virt-5.1 machine
>   hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field
>   hw/arm/virt: Remove deprecated virt-5.2 machine
>   hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field
>   hw/arm/virt: Remove deprecated virt-6.0 machine
>   hw/arm/virt: Remove deprecated virt-6.1 machine
>   hw/arm/virt: Remove VirtMachineClass::no_tcg_its field
>   hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field
>   hw/arm/virt: Remove deprecated virt-6.2 machine
>   hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field
>   hw/arm/virt: Remove deprecated virt-7.0 machine
>   hw/arm/virt: Remove deprecated virt-7.1 machine
>   hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field
>   hw/arm/virt: Remove deprecated virt-7.2 machine
> 
>  include/hw/arm/virt.h    |  11 --
>  hw/arm/virt-acpi-build.c |  37 +------
>  hw/arm/virt.c            | 228 ++++++++-------------------------------
>  3 files changed, 50 insertions(+), 226 deletions(-)
> 
> -- 
> 2.51.0
> 
> 

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] 23+ messages in thread

* Re: [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines
  2025-10-17 13:18 ` [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Daniel P. Berrangé
@ 2025-10-17 13:39   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-17 13:39 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Michael S. Tsirkin, Igor Mammedov, Andrew Jones,
	Ani Sinha, qemu-arm, Shannon Zhao, Peter Maydell

On 17/10/25 15:18, Daniel P. Berrangé wrote:
> On Fri, Oct 17, 2025 at 03:07:59PM +0200, Philippe Mathieu-Daudé wrote:
>> Remove the deprecated virt-4.1 up to virt-7.2 machines,
>> which are older than 6 years. Remove resulting dead code.
> 
> Nope, that's too aggressive here too. Only the 4.1/4.2 machines
> can be removed. The others are all still reported as being valid
> machines with '-machine help' - they'll be automatically removed
> from that list once their expiry release cycle is started.

Right :/

>>
>> Philippe Mathieu-Daudé (20):
>>    hw/arm/virt: Remove deprecated virt-4.1 machine
>>    hw/arm/virt: Remove VirtMachineClass::no_ged field
>>    hw/arm/virt: Remove deprecated virt-4.2 machine
>>    hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field

So please only consider these 4 patches to review then.

Thanks,

Phil.


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

end of thread, other threads:[~2025-10-17 13:40 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-17 13:07 [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 01/20] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 02/20] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 03/20] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 04/20] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 05/20] hw/arm/virt: Remove deprecated virt-5.0 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 06/20] hw/arm/virt: Remove VirtMachineClass::acpi_expose_flash field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 07/20] hw/arm/virt: Remove deprecated virt-5.1 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 08/20] hw/arm/virt: Remove VirtMachineClass::no_kvm_steal_time field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 09/20] hw/arm/virt: Remove deprecated virt-5.2 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 10/20] hw/arm/virt: Remove VirtMachineClass::no_secure_gpio field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 11/20] hw/arm/virt: Remove deprecated virt-6.0 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 12/20] hw/arm/virt: Remove deprecated virt-6.1 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 13/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_its field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 14/20] hw/arm/virt: Remove VirtMachineClass::no_cpu_topology field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 15/20] hw/arm/virt: Remove deprecated virt-6.2 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 16/20] hw/arm/virt: Remove VirtMachineClass::no_tcg_lpa2 field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 17/20] hw/arm/virt: Remove deprecated virt-7.0 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 18/20] hw/arm/virt: Remove deprecated virt-7.1 machine Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 19/20] hw/arm/virt: Remove VirtMachineClass::no_highmem_compact field Philippe Mathieu-Daudé
2025-10-17 13:08 ` [PATCH 20/20] hw/arm/virt: Remove deprecated virt-7.2 machine Philippe Mathieu-Daudé
2025-10-17 13:18 ` [PATCH 00/20] hw/arm/virt: Remove virt-4.1 -> virt-7.2 machines Daniel P. Berrangé
2025-10-17 13:39   ` 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).