include/hw/arm/virt.h | 6 -- hw/arm/virt-acpi-build.c | 10 +-- hw/arm/virt.c | 136 +++++++-------------------------------- 3 files changed, 26 insertions(+), 126 deletions(-)
The versioned 'virt' machines up to 2.12 been marked as deprecated
two releases ago, and are older than 6 years, so according to our
support policy we can remove them. Remove associated dead code.
Since v1:
- Corrected disallow_affinity_adjustment removal (Thomas)
- Do not modify docs/about/removed-features.rst (Thomas & Daniel)
Philippe Mathieu-Daudé (13):
hw/arm/virt: Remove deprecated virt-2.6 machine
hw/arm/virt: Remove VirtMachineClass::no_pmu field
hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
hw/arm/virt: Remove deprecated virt-2.7 machine
hw/arm/virt: Remove VirtMachineClass::no_its field
hw/arm/virt: Remove deprecated virt-2.8 machine
hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
field
hw/arm/virt: Remove deprecated virt-2.9 machine
hw/arm/virt: Remove deprecated virt-2.10 machine
hw/arm/virt: Remove deprecated virt-2.11 machine
hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
hw/arm/virt: Remove deprecated virt-2.12 machine
hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
include/hw/arm/virt.h | 6 --
hw/arm/virt-acpi-build.c | 10 +--
hw/arm/virt.c | 136 +++++++--------------------------------
3 files changed, 26 insertions(+), 126 deletions(-)
--
2.47.1
On Thu, 16 Jan 2025 at 14:59, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > The versioned 'virt' machines up to 2.12 been marked as deprecated > two releases ago, and are older than 6 years, so according to our > support policy we can remove them. Remove associated dead code. > > Since v1: > - Corrected disallow_affinity_adjustment removal (Thomas) > - Do not modify docs/about/removed-features.rst (Thomas & Daniel) > > Philippe Mathieu-Daudé (13): > hw/arm/virt: Remove deprecated virt-2.6 machine > hw/arm/virt: Remove VirtMachineClass::no_pmu field > hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment > hw/arm/virt: Remove deprecated virt-2.7 machine > hw/arm/virt: Remove VirtMachineClass::no_its field > hw/arm/virt: Remove deprecated virt-2.8 machine > hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers > field > hw/arm/virt: Remove deprecated virt-2.9 machine > hw/arm/virt: Remove deprecated virt-2.10 machine > hw/arm/virt: Remove deprecated virt-2.11 machine > hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field > hw/arm/virt: Remove deprecated virt-2.12 machine > hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Applied to target-arm.next, thanks (with the tweak RTH points out to avoid a compilation failure in patch 3). -- PMM
On 2/5/25 15:37, Peter Maydell wrote: > On Thu, 16 Jan 2025 at 14:59, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: >> >> The versioned 'virt' machines up to 2.12 been marked as deprecated >> two releases ago, and are older than 6 years, so according to our >> support policy we can remove them. Remove associated dead code. >> >> Since v1: >> - Corrected disallow_affinity_adjustment removal (Thomas) >> - Do not modify docs/about/removed-features.rst (Thomas & Daniel) >> >> Philippe Mathieu-Daudé (13): >> hw/arm/virt: Remove deprecated virt-2.6 machine >> hw/arm/virt: Remove VirtMachineClass::no_pmu field >> hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment >> hw/arm/virt: Remove deprecated virt-2.7 machine >> hw/arm/virt: Remove VirtMachineClass::no_its field >> hw/arm/virt: Remove deprecated virt-2.8 machine >> hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers >> field >> hw/arm/virt: Remove deprecated virt-2.9 machine >> hw/arm/virt: Remove deprecated virt-2.10 machine >> hw/arm/virt: Remove deprecated virt-2.11 machine >> hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field >> hw/arm/virt: Remove deprecated virt-2.12 machine >> hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field > > Applied to target-arm.next, thanks (with the tweak RTH points > out to avoid a compilation failure in patch 3). Thank you for tweaking :)
Hi Peter, On 16/1/25 15:59, Philippe Mathieu-Daudé wrote: > The versioned 'virt' machines up to 2.12 been marked as deprecated > two releases ago, and are older than 6 years, so according to our > support policy we can remove them. Remove associated dead code. > Philippe Mathieu-Daudé (13): > hw/arm/virt: Remove deprecated virt-2.6 machine > hw/arm/virt: Remove VirtMachineClass::no_pmu field > hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment > hw/arm/virt: Remove deprecated virt-2.7 machine > hw/arm/virt: Remove VirtMachineClass::no_its field > hw/arm/virt: Remove deprecated virt-2.8 machine > hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers > field > hw/arm/virt: Remove deprecated virt-2.9 machine > hw/arm/virt: Remove deprecated virt-2.10 machine > hw/arm/virt: Remove deprecated virt-2.11 machine > hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field > hw/arm/virt: Remove deprecated virt-2.12 machine > hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field Please ignore this (reviewed) series for now. I'll rebase it and repost after the 10.0 release. Thanks, Phil.
On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote: > Hi Peter, > > On 16/1/25 15:59, Philippe Mathieu-Daudé wrote: >> The versioned 'virt' machines up to 2.12 been marked as deprecated >> two releases ago, and are older than 6 years, so according to our >> support policy we can remove them. Remove associated dead code. > >> Philippe Mathieu-Daudé (13): >> hw/arm/virt: Remove deprecated virt-2.6 machine >> hw/arm/virt: Remove VirtMachineClass::no_pmu field >> hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment >> hw/arm/virt: Remove deprecated virt-2.7 machine >> hw/arm/virt: Remove VirtMachineClass::no_its field >> hw/arm/virt: Remove deprecated virt-2.8 machine >> hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers >> field >> hw/arm/virt: Remove deprecated virt-2.9 machine >> hw/arm/virt: Remove deprecated virt-2.10 machine >> hw/arm/virt: Remove deprecated virt-2.11 machine >> hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field >> hw/arm/virt: Remove deprecated virt-2.12 machine >> hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field > > Please ignore this (reviewed) series for now. I'll rebase it and > repost after the 10.0 release. Why? IMHO it should be ok to include them now already. While Daniel's macro only starts the automatic disablement for 10.1, it should be ok to remove them now already according to our normal deprecation policy: The machines have been marked as deprecated in the 9.1 release already (via commit https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they have been deprecated since two releases already. So it should be fine to remove them now, shouldn't it? Thomas
On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote: > On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote: > > Hi Peter, > > > > On 16/1/25 15:59, Philippe Mathieu-Daudé wrote: > > > The versioned 'virt' machines up to 2.12 been marked as deprecated > > > two releases ago, and are older than 6 years, so according to our > > > support policy we can remove them. Remove associated dead code. > > > > > Philippe Mathieu-Daudé (13): > > > hw/arm/virt: Remove deprecated virt-2.6 machine > > > hw/arm/virt: Remove VirtMachineClass::no_pmu field > > > hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment > > > hw/arm/virt: Remove deprecated virt-2.7 machine > > > hw/arm/virt: Remove VirtMachineClass::no_its field > > > hw/arm/virt: Remove deprecated virt-2.8 machine > > > hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers > > > field > > > hw/arm/virt: Remove deprecated virt-2.9 machine > > > hw/arm/virt: Remove deprecated virt-2.10 machine > > > hw/arm/virt: Remove deprecated virt-2.11 machine > > > hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field > > > hw/arm/virt: Remove deprecated virt-2.12 machine > > > hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field > > > > Please ignore this (reviewed) series for now. I'll rebase it and > > repost after the 10.0 release. > > Why? IMHO it should be ok to include them now already. While Daniel's macro > only starts the automatic disablement for 10.1, it should be ok to remove > them now already according to our normal deprecation policy: The machines > have been marked as deprecated in the 9.1 release already (via commit > https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they > have been deprecated since two releases already. So it should be fine to > remove them now, shouldn't it? No, because as of 9.1.0 we documented that machine types are under the new policy, and these were only deprecated in 9.1.0, hence the new policy applies to them. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On 17/1/25 09:09, Daniel P. Berrangé wrote: > On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote: >> On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote: >>> Hi Peter, >>> >>> On 16/1/25 15:59, Philippe Mathieu-Daudé wrote: >>>> The versioned 'virt' machines up to 2.12 been marked as deprecated >>>> two releases ago, and are older than 6 years, so according to our >>>> support policy we can remove them. Remove associated dead code. >>> Please ignore this (reviewed) series for now. I'll rebase it and >>> repost after the 10.0 release. >> >> Why? IMHO it should be ok to include them now already. While Daniel's macro >> only starts the automatic disablement for 10.1, it should be ok to remove >> them now already according to our normal deprecation policy: The machines >> have been marked as deprecated in the 9.1 release already (via commit >> https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they >> have been deprecated since two releases already. So it should be fine to >> remove them now, shouldn't it? > > No, because as of 9.1.0 we documented that machine types are under the > new policy, and these were only deprecated in 9.1.0, hence the new policy > applies to them. Thomas, see Daniel's larger explanation: https://lore.kernel.org/qemu-devel/Z4jRYiUGAzz1_NRV@redhat.com/
On 17/01/2025 09.09, Daniel P. Berrangé wrote: > On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote: >> On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote: >>> Hi Peter, >>> >>> On 16/1/25 15:59, Philippe Mathieu-Daudé wrote: >>>> The versioned 'virt' machines up to 2.12 been marked as deprecated >>>> two releases ago, and are older than 6 years, so according to our >>>> support policy we can remove them. Remove associated dead code. >>> >>>> Philippe Mathieu-Daudé (13): >>>> hw/arm/virt: Remove deprecated virt-2.6 machine >>>> hw/arm/virt: Remove VirtMachineClass::no_pmu field >>>> hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment >>>> hw/arm/virt: Remove deprecated virt-2.7 machine >>>> hw/arm/virt: Remove VirtMachineClass::no_its field >>>> hw/arm/virt: Remove deprecated virt-2.8 machine >>>> hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers >>>> field >>>> hw/arm/virt: Remove deprecated virt-2.9 machine >>>> hw/arm/virt: Remove deprecated virt-2.10 machine >>>> hw/arm/virt: Remove deprecated virt-2.11 machine >>>> hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field >>>> hw/arm/virt: Remove deprecated virt-2.12 machine >>>> hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field >>> >>> Please ignore this (reviewed) series for now. I'll rebase it and >>> repost after the 10.0 release. >> >> Why? IMHO it should be ok to include them now already. While Daniel's macro >> only starts the automatic disablement for 10.1, it should be ok to remove >> them now already according to our normal deprecation policy: The machines >> have been marked as deprecated in the 9.1 release already (via commit >> https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they >> have been deprecated since two releases already. So it should be fine to >> remove them now, shouldn't it? > > No, because as of 9.1.0 we documented that machine types are under the > new policy, and these were only deprecated in 9.1.0, hence the new policy > applies to them. Hm, I guess we could argue now about the wording (I don't see a spot in ce80c4fa6ff that says that this only happens starting with 10.1), but in the long run, it doesn't really matter much whether we remove these machines with 10.0 already or just with 10.1, so let's go with 10.1 instead. Thomas
On Fri, Jan 17, 2025 at 09:29:40AM +0100, Thomas Huth wrote:
> On 17/01/2025 09.09, Daniel P. Berrangé wrote:
> > On Fri, Jan 17, 2025 at 07:47:15AM +0100, Thomas Huth wrote:
> > > On 16/01/2025 22.13, Philippe Mathieu-Daudé wrote:
> > > > Hi Peter,
> > > >
> > > > On 16/1/25 15:59, Philippe Mathieu-Daudé wrote:
> > > > > The versioned 'virt' machines up to 2.12 been marked as deprecated
> > > > > two releases ago, and are older than 6 years, so according to our
> > > > > support policy we can remove them. Remove associated dead code.
> > > >
> > > > > Philippe Mathieu-Daudé (13):
> > > > > hw/arm/virt: Remove deprecated virt-2.6 machine
> > > > > hw/arm/virt: Remove VirtMachineClass::no_pmu field
> > > > > hw/arm/virt: Remove VirtMachineClass::disallow_affinity_adjustment
> > > > > hw/arm/virt: Remove deprecated virt-2.7 machine
> > > > > hw/arm/virt: Remove VirtMachineClass::no_its field
> > > > > hw/arm/virt: Remove deprecated virt-2.8 machine
> > > > > hw/arm/virt: Remove VirtMachineClass::claim_edge_triggered_timers
> > > > > field
> > > > > hw/arm/virt: Remove deprecated virt-2.9 machine
> > > > > hw/arm/virt: Remove deprecated virt-2.10 machine
> > > > > hw/arm/virt: Remove deprecated virt-2.11 machine
> > > > > hw/arm/virt: Remove VirtMachineClass::smbios_old_sys_ver field
> > > > > hw/arm/virt: Remove deprecated virt-2.12 machine
> > > > > hw/arm/virt: Remove VirtMachineClass::no_highmem_ecam field
> > > >
> > > > Please ignore this (reviewed) series for now. I'll rebase it and
> > > > repost after the 10.0 release.
> > >
> > > Why? IMHO it should be ok to include them now already. While Daniel's macro
> > > only starts the automatic disablement for 10.1, it should be ok to remove
> > > them now already according to our normal deprecation policy: The machines
> > > have been marked as deprecated in the 9.1 release already (via commit
> > > https://gitlab.com/qemu-project/qemu/-/commit/ce80c4fa6ff ), and thus they
> > > have been deprecated since two releases already. So it should be fine to
> > > remove them now, shouldn't it?
> >
> > No, because as of 9.1.0 we documented that machine types are under the
> > new policy, and these were only deprecated in 9.1.0, hence the new policy
> > applies to them.
>
> Hm, I guess we could argue now about the wording (I don't see a spot in
> ce80c4fa6ff that says that this only happens starting with 10.1), but in the
> long run, it doesn't really matter much whether we remove these machines
> with 10.0 already or just with 10.1, so let's go with 10.1 instead.
That's the wrong commit - I documented the delayed impl of deletion
in a separate commit, so that we could just revert that part on its
own in 10.1 dev:
commit c9fd2d9a48ee3c195cf83cc611b87b09f02f0013
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Thu Jun 20 17:57:37 2024 +0100
include/hw: temporarily disable deletion of versioned machine types
The new deprecation and deletion policy for versioned machine types is
being introduced in QEMU 9.1.0.
Under the new policy a number of old machine types (any prior to 2.12)
would be liable for immediate deletion which would be a violation of our
historical deprecation and removal policy
Thus automatic deletions (by skipping QOM registration) are temporarily
gated on existance of the env variable "QEMU_DELETE_MACHINES" / QEMU
version number >= 10.1.0. This allows opt-in testing of the automatic
deletion logic, while activating it fully in QEMU >= 10.1.0.
This whole commit should be reverted in the 10.1.0 dev cycle or shortly
thereafter.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240620165742.1711389-10-berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
If a machine type was deprected *before* the 9.1 release cycle, I think
it is fair game to delete it under the historical deprecation rules.
If a machine type was deprecated in 9.1, or later cycles, I think that
deletion is gated until 10.1.0 under the policy applied by that commit
above.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
© 2016 - 2026 Red Hat, Inc.