qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines
@ 2025-10-20  9:40 Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 1/4] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-20  9:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha, Philippe Mathieu-Daudé

Since v1:
- Do not remove virt-6.0 -> virt-7.2 (danpb)

Remove the deprecated virt-4.1 and virt-4.2 machines,
which are older than 6 years. Remove resulting dead code.

Philippe Mathieu-Daudé (4):
  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

 include/hw/arm/virt.h |  2 --
 hw/arm/virt.c         | 29 +----------------------------
 2 files changed, 1 insertion(+), 30 deletions(-)

-- 
2.51.0



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

* [PATCH v2 1/4] hw/arm/virt: Remove deprecated virt-4.1 machine
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
@ 2025-10-20  9:40 ` Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 2/4] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-20  9:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha, 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] 8+ messages in thread

* [PATCH v2 2/4] hw/arm/virt: Remove VirtMachineClass::no_ged field
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 1/4] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
@ 2025-10-20  9:40 ` Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 3/4] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-20  9:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha, 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] 8+ messages in thread

* [PATCH v2 3/4] hw/arm/virt: Remove deprecated virt-4.2 machine
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 1/4] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 2/4] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
@ 2025-10-20  9:40 ` Philippe Mathieu-Daudé
  2025-10-20  9:40 ` [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-20  9:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha, 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] 8+ messages in thread

* [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2025-10-20  9:40 ` [PATCH v2 3/4] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
@ 2025-10-20  9:40 ` Philippe Mathieu-Daudé
  2025-10-28  9:40   ` Peter Maydell
  2025-10-27 19:40 ` [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
  2025-10-28 10:18 ` Peter Maydell
  5 siblings, 1 reply; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-20  9:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha, 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] 8+ messages in thread

* Re: [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2025-10-20  9:40 ` [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
@ 2025-10-27 19:40 ` Philippe Mathieu-Daudé
  2025-10-28 10:18 ` Peter Maydell
  5 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-10-27 19:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jones, Peter Maydell, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha

On 20/10/25 11:40, Philippe Mathieu-Daudé wrote:
> Since v1:
> - Do not remove virt-6.0 -> virt-7.2 (danpb)
> 
> Remove the deprecated virt-4.1 and virt-4.2 machines,
> which are older than 6 years. Remove resulting dead code.
> 
> Philippe Mathieu-Daudé (4):
>    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

Ping?


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

* Re: [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field
  2025-10-20  9:40 ` [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
@ 2025-10-28  9:40   ` Peter Maydell
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2025-10-28  9:40 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Andrew Jones, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha

On Mon, 20 Oct 2025 at 10:40, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> 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);

Can we / should we start the deprecate-and-drop process
for the CPU kvm-no-adjvtime property now ?

-- PMM


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

* Re: [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines
  2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2025-10-27 19:40 ` [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
@ 2025-10-28 10:18 ` Peter Maydell
  5 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2025-10-28 10:18 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Andrew Jones, Michael S. Tsirkin, Igor Mammedov,
	qemu-arm, Shannon Zhao, Ani Sinha

On Mon, 20 Oct 2025 at 10:40, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Since v1:
> - Do not remove virt-6.0 -> virt-7.2 (danpb)
>
> Remove the deprecated virt-4.1 and virt-4.2 machines,
> which are older than 6 years. Remove resulting dead code.
>
> Philippe Mathieu-Daudé (4):
>   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
>



Applied to target-arm.next, thanks.

-- PMM


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

end of thread, other threads:[~2025-10-28 10:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-20  9:40 [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
2025-10-20  9:40 ` [PATCH v2 1/4] hw/arm/virt: Remove deprecated virt-4.1 machine Philippe Mathieu-Daudé
2025-10-20  9:40 ` [PATCH v2 2/4] hw/arm/virt: Remove VirtMachineClass::no_ged field Philippe Mathieu-Daudé
2025-10-20  9:40 ` [PATCH v2 3/4] hw/arm/virt: Remove deprecated virt-4.2 machine Philippe Mathieu-Daudé
2025-10-20  9:40 ` [PATCH v2 4/4] hw/arm/virt: Remove VirtMachineClass::kvm_no_adjvtime field Philippe Mathieu-Daudé
2025-10-28  9:40   ` Peter Maydell
2025-10-27 19:40 ` [PATCH v2 0/4] hw/arm/virt: Remove virt-4.1 and virt-4.2 machines Philippe Mathieu-Daudé
2025-10-28 10:18 ` Peter Maydell

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).