* [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
@ 2025-01-15 17:09 ` Philippe Mathieu-Daudé
2025-01-15 17:16 ` Philippe Mathieu-Daudé
2025-01-16 6:52 ` Thomas Huth
2025-01-15 17:09 ` [PATCH 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
` (11 subsequent siblings)
12 siblings, 2 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:09 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 4 ++++
hw/arm/virt.c | 12 ------------
2 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index c6616ce05e5..813988fad4a 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,6 +1065,10 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
+Arm ``virt-2.6`` (removed in 10.0)
+''''''''''''''''''''''''''''''''''
+This versioned machine has been supported for a period of more than 6 years.
+
linux-user mode CPUs
--------------------
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] 23+ messages in thread* Re: [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine
2025-01-15 17:09 ` [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:16 ` Philippe Mathieu-Daudé
2025-01-16 6:52 ` Thomas Huth
1 sibling, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin
On 15/1/25 18:09, Philippe Mathieu-Daudé wrote:
> This machines has been supported for a period of more than 6 years.
Typo in all this series :/ To be replaced by "This machine".
> 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>
> ---
> docs/about/removed-features.rst | 4 ++++
> hw/arm/virt.c | 12 ------------
> 2 files changed, 4 insertions(+), 12 deletions(-)
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine
2025-01-15 17:09 ` [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
2025-01-15 17:16 ` Philippe Mathieu-Daudé
@ 2025-01-16 6:52 ` Thomas Huth
1 sibling, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 6:52 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.09, Philippe Mathieu-Daudé wrote:
> This machines 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>
> ---
> docs/about/removed-features.rst | 4 ++++
> hw/arm/virt.c | 12 ------------
> 2 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
> index c6616ce05e5..813988fad4a 100644
> --- a/docs/about/removed-features.rst
> +++ b/docs/about/removed-features.rst
> @@ -1065,6 +1065,10 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
> dropping the ``cheetah`` OMAP1 board, because we don't have any
> test images for it and don't know of anybody who does.
>
> +Arm ``virt-2.6`` (removed in 10.0)
> +''''''''''''''''''''''''''''''''''
> +This versioned machine has been supported for a period of more than 6 years.
I'd like to suggest that we rather add a generic statement to this file instead:
https://lore.kernel.org/qemu-devel/20250116064644.65670-1-thuth@redhat.com/
> linux-user mode CPUs
> --------------------
>
> 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: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
2025-01-15 17:09 ` [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:09 ` Philippe Mathieu-Daudé
2025-01-16 6:48 ` Thomas Huth
2025-01-15 17:09 ` [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
` (10 subsequent siblings)
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:09 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
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>
---
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] 23+ messages in thread* Re: [PATCH 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field
2025-01-15 17:09 ` [PATCH 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
@ 2025-01-16 6:48 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 6:48 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.09, 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>
> ---
> include/hw/arm/virt.h | 1 -
> hw/arm/virt.c | 4 ----
> 2 files changed, 5 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
2025-01-15 17:09 ` [PATCH 01/13] hw/arm/virt: Remove deprecated virt-2.6 machine Philippe Mathieu-Daudé
2025-01-15 17:09 ` [PATCH 02/13] hw/arm/virt: Remove VirtMachineClass::no_pmu field Philippe Mathieu-Daudé
@ 2025-01-15 17:09 ` Philippe Mathieu-Daudé
2025-01-16 7:03 ` Thomas Huth
2025-01-15 17:10 ` [PATCH 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
` (9 subsequent siblings)
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:09 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
The VirtMachineClass::disallow_affinity_adjustment
field was only used by virt-2.6 machine, which got
removed. Remove it along with the GIC*_TARGETLIST_BITS
definitions, and simplify virt_cpu_mp_affinity().
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/arm/virt.h | 1 -
include/hw/intc/arm_gic.h | 1 -
include/hw/intc/arm_gicv3_common.h | 3 ---
hw/arm/virt.c | 16 ----------------
4 files changed, 21 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/include/hw/intc/arm_gic.h b/include/hw/intc/arm_gic.h
index 48f6a51a70a..f5e6e5e70b4 100644
--- a/include/hw/intc/arm_gic.h
+++ b/include/hw/intc/arm_gic.h
@@ -68,7 +68,6 @@
#include "qom/object.h"
/* Number of SGI target-list bits */
-#define GIC_TARGETLIST_BITS 8
#define GIC_MAX_PRIORITY_BITS 8
#define GIC_MIN_PRIORITY_BITS 4
diff --git a/include/hw/intc/arm_gicv3_common.h b/include/hw/intc/arm_gicv3_common.h
index a3d6a0e5077..fff5e55a97d 100644
--- a/include/hw/intc/arm_gicv3_common.h
+++ b/include/hw/intc/arm_gicv3_common.h
@@ -45,9 +45,6 @@
#define GICV3_REDIST_SIZE 0x20000
#define GICV4_REDIST_SIZE 0x40000
-/* Number of SGI target-list bits */
-#define GICV3_TARGETLIST_BITS 16
-
/* Maximum number of list registers (architectural limit) */
#define GICV3_LR_MAX 16
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 0080577e1a9..2a2a0bd9154 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1760,23 +1760,7 @@ 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;
- 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;
- }
- }
return arm_build_mp_affinity(idx, clustersz);
}
--
2.47.1
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
2025-01-15 17:09 ` [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
@ 2025-01-16 7:03 ` Thomas Huth
2025-01-16 8:40 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 7:03 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.09, Philippe Mathieu-Daudé wrote:
> The VirtMachineClass::disallow_affinity_adjustment
> field was only used by virt-2.6 machine, which got
> removed. Remove it along with the GIC*_TARGETLIST_BITS
> definitions, and simplify virt_cpu_mp_affinity().
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> include/hw/arm/virt.h | 1 -
> include/hw/intc/arm_gic.h | 1 -
> include/hw/intc/arm_gicv3_common.h | 3 ---
> hw/arm/virt.c | 16 ----------------
> 4 files changed, 21 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/include/hw/intc/arm_gic.h b/include/hw/intc/arm_gic.h
> index 48f6a51a70a..f5e6e5e70b4 100644
> --- a/include/hw/intc/arm_gic.h
> +++ b/include/hw/intc/arm_gic.h
> @@ -68,7 +68,6 @@
> #include "qom/object.h"
>
> /* Number of SGI target-list bits */
> -#define GIC_TARGETLIST_BITS 8
> #define GIC_MAX_PRIORITY_BITS 8
> #define GIC_MIN_PRIORITY_BITS 4
>
> diff --git a/include/hw/intc/arm_gicv3_common.h b/include/hw/intc/arm_gicv3_common.h
> index a3d6a0e5077..fff5e55a97d 100644
> --- a/include/hw/intc/arm_gicv3_common.h
> +++ b/include/hw/intc/arm_gicv3_common.h
> @@ -45,9 +45,6 @@
> #define GICV3_REDIST_SIZE 0x20000
> #define GICV4_REDIST_SIZE 0x40000
>
> -/* Number of SGI target-list bits */
> -#define GICV3_TARGETLIST_BITS 16
> -
> /* Maximum number of list registers (architectural limit) */
> #define GICV3_LR_MAX 16
>
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 0080577e1a9..2a2a0bd9154 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1760,23 +1760,7 @@ 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;
> - VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
>
> - if (!vmc->disallow_affinity_adjustment) {
I think this change is wrong - disallow_affinity_adjustment is false for
newer machines, so you removed code here that is still in use on newer machines?
Thomas
> - /* 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);
> }
>
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
2025-01-16 7:03 ` Thomas Huth
@ 2025-01-16 8:40 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-16 8:40 UTC (permalink / raw)
To: Thomas Huth, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 16/1/25 08:03, Thomas Huth wrote:
> On 15/01/2025 18.09, Philippe Mathieu-Daudé wrote:
>> The VirtMachineClass::disallow_affinity_adjustment
>> field was only used by virt-2.6 machine, which got
>> removed. Remove it along with the GIC*_TARGETLIST_BITS
>> definitions, and simplify virt_cpu_mp_affinity().
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> include/hw/arm/virt.h | 1 -
>> include/hw/intc/arm_gic.h | 1 -
>> include/hw/intc/arm_gicv3_common.h | 3 ---
>> hw/arm/virt.c | 16 ----------------
>> 4 files changed, 21 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/include/hw/intc/arm_gic.h b/include/hw/intc/arm_gic.h
>> index 48f6a51a70a..f5e6e5e70b4 100644
>> --- a/include/hw/intc/arm_gic.h
>> +++ b/include/hw/intc/arm_gic.h
>> @@ -68,7 +68,6 @@
>> #include "qom/object.h"
>> /* Number of SGI target-list bits */
>> -#define GIC_TARGETLIST_BITS 8
>> #define GIC_MAX_PRIORITY_BITS 8
>> #define GIC_MIN_PRIORITY_BITS 4
>> diff --git a/include/hw/intc/arm_gicv3_common.h b/include/hw/intc/
>> arm_gicv3_common.h
>> index a3d6a0e5077..fff5e55a97d 100644
>> --- a/include/hw/intc/arm_gicv3_common.h
>> +++ b/include/hw/intc/arm_gicv3_common.h
>> @@ -45,9 +45,6 @@
>> #define GICV3_REDIST_SIZE 0x20000
>> #define GICV4_REDIST_SIZE 0x40000
>> -/* Number of SGI target-list bits */
>> -#define GICV3_TARGETLIST_BITS 16
>> -
>> /* Maximum number of list registers (architectural limit) */
>> #define GICV3_LR_MAX 16
>> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
>> index 0080577e1a9..2a2a0bd9154 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -1760,23 +1760,7 @@ 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;
>> - VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
>> - if (!vmc->disallow_affinity_adjustment) {
>
> I think this change is wrong - disallow_affinity_adjustment is false for
> newer machines, so you removed code here that is still in use on newer
> machines?
Oops :| Thanks, I've be a bit overzealous here...
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2025-01-15 17:09 ` [PATCH 03/13] hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
` (8 subsequent siblings)
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 6 +++---
hw/arm/virt.c | 13 -------------
2 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 813988fad4a..435f081d805 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,9 +1065,9 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` (removed in 10.0)
-''''''''''''''''''''''''''''''''''
-This versioned machine has been supported for a period of more than 6 years.
+Arm ``virt-2.6`` and ``virt-2.7`` (removed in 10.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+These versioned machines have been supported for a period of more than 6 years.
linux-user mode CPUs
--------------------
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 2a2a0bd9154..7747dae4dc7 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3573,16 +3573,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] 23+ messages in thread* [PATCH 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 04/13] hw/arm/virt: Remove deprecated virt-2.7 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-16 7:10 ` Thomas Huth
2025-01-15 17:10 ` [PATCH 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
` (7 subsequent siblings)
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
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>
---
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 7747dae4dc7..d7a7cee79df 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3278,17 +3278,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] 23+ messages in thread* Re: [PATCH 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field
2025-01-15 17:10 ` [PATCH 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
@ 2025-01-16 7:10 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 7:10 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.10, 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>
> ---
> 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: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 05/13] hw/arm/virt: Remove VirtMachineClass::no_its field Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
` (6 subsequent siblings)
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 4 ++--
hw/arm/virt.c | 13 -------------
2 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 435f081d805..732ec2cd05d 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,8 +1065,8 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` and ``virt-2.7`` (removed in 10.0)
-'''''''''''''''''''''''''''''''''''''''''''''''''''
+Arm ``virt-2.6`` up to ``virt-2.8`` (removed in 10.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''
These versioned machines have been supported for a period of more than 6 years.
linux-user mode CPUs
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index d7a7cee79df..4ec94190769 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3556,16 +3556,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] 23+ messages in thread* [PATCH 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (5 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 06/13] hw/arm/virt: Remove deprecated virt-2.8 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-16 7:13 ` Thomas Huth
2025-01-15 17:10 ` [PATCH 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
` (5 subsequent siblings)
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
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>
---
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 4ec94190769..ec47ee4755a 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] 23+ messages in thread* Re: [PATCH 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field
2025-01-15 17:10 ` [PATCH 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
@ 2025-01-16 7:13 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 7:13 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.10, Philippe Mathieu-Daudé wrote:
> 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>
> ---
> 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: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (6 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 07/13] hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers field Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
` (4 subsequent siblings)
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 2 +-
hw/arm/virt.c | 7 -------
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 732ec2cd05d..dbd04b00e4d 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,7 +1065,7 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` up to ``virt-2.8`` (removed in 10.0)
+Arm ``virt-2.6`` up to ``virt-2.9`` (removed in 10.0)
'''''''''''''''''''''''''''''''''''''''''''''''''''''
These versioned machines have been supported for a period of more than 6 years.
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index ec47ee4755a..6ba75a91574 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3544,10 +3544,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] 23+ messages in thread* [PATCH 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (7 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 08/13] hw/arm/virt: Remove deprecated virt-2.9 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
` (3 subsequent siblings)
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 4 ++--
hw/arm/virt.c | 9 ---------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index dbd04b00e4d..7c8b98fcdf9 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,8 +1065,8 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` up to ``virt-2.9`` (removed in 10.0)
-'''''''''''''''''''''''''''''''''''''''''''''''''''''
+Arm ``virt-2.6`` up to ``virt-2.10`` (removed in 10.0)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''
These versioned machines have been supported for a period of more than 6 years.
linux-user mode CPUs
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 6ba75a91574..dd44fb30773 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3535,12 +3535,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] 23+ messages in thread* [PATCH 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (8 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 09/13] hw/arm/virt: Remove deprecated virt-2.10 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
` (2 subsequent siblings)
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 2 +-
hw/arm/virt.c | 10 ----------
2 files changed, 1 insertion(+), 11 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 7c8b98fcdf9..0594bbd4363 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,7 +1065,7 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` up to ``virt-2.10`` (removed in 10.0)
+Arm ``virt-2.6`` up to ``virt-2.11`` (removed in 10.0)
''''''''''''''''''''''''''''''''''''''''''''''''''''''
These versioned machines have been supported for a period of more than 6 years.
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index dd44fb30773..ae331df9349 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3525,13 +3525,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] 23+ messages in thread* [PATCH 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (9 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 10/13] hw/arm/virt: Remove deprecated virt-2.11 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-16 8:23 ` Thomas Huth
2025-01-15 17:10 ` [PATCH 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
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>
---
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 ae331df9349..08117b396a6 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] 23+ messages in thread* Re: [PATCH 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
2025-01-15 17:10 ` [PATCH 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
@ 2025-01-16 8:23 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 8:23 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.10, 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>
> ---
> include/hw/arm/virt.h | 1 -
> hw/arm/virt.c | 4 +---
> 2 files changed, 1 insertion(+), 4 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (10 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 11/13] hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-15 17:10 ` [PATCH 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
12 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
Philippe Mathieu-Daudé
This machines 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>
---
docs/about/removed-features.rst | 2 +-
hw/arm/virt.c | 11 -----------
2 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 0594bbd4363..c915b2cbd41 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1065,7 +1065,7 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
dropping the ``cheetah`` OMAP1 board, because we don't have any
test images for it and don't know of anybody who does.
-Arm ``virt-2.6`` up to ``virt-2.11`` (removed in 10.0)
+Arm ``virt-2.6`` up to ``virt-2.12`` (removed in 10.0)
''''''''''''''''''''''''''''''''''''''''''''''''''''''
These versioned machines have been supported for a period of more than 6 years.
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 08117b396a6..a607a66a198 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3512,14 +3512,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] 23+ messages in thread* [PATCH 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
2025-01-15 17:09 [PATCH 00/13] hw/arm: Remove virt-2.6 up to virt-2.12 machines Philippe Mathieu-Daudé
` (11 preceding siblings ...)
2025-01-15 17:10 ` [PATCH 12/13] hw/arm/virt: Remove deprecated virt-2.12 machine Philippe Mathieu-Daudé
@ 2025-01-15 17:10 ` Philippe Mathieu-Daudé
2025-01-16 8:26 ` Thomas Huth
12 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-15 17:10 UTC (permalink / raw)
To: qemu-devel
Cc: Ani Sinha, Igor Mammedov, Thomas Huth, Peter Maydell,
Andrew Jones, qemu-arm, Shannon Zhao, Michael S. Tsirkin,
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>
---
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 a607a66a198..4de5ce3c541 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3267,7 +3267,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] 23+ messages in thread* Re: [PATCH 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
2025-01-15 17:10 ` [PATCH 13/13] hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Philippe Mathieu-Daudé
@ 2025-01-16 8:26 ` Thomas Huth
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Huth @ 2025-01-16 8:26 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Ani Sinha, Igor Mammedov, Peter Maydell, Andrew Jones, qemu-arm,
Shannon Zhao, Michael S. Tsirkin
On 15/01/2025 18.10, 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>
> ---
> include/hw/arm/virt.h | 1 -
> hw/arm/virt.c | 2 +-
> 2 files changed, 1 insertion(+), 2 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 23+ messages in thread