* [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one @ 2025-01-16 6:46 Thomas Huth 2025-01-16 7:58 ` Zhao Liu 2025-01-16 8:48 ` Philippe Mathieu-Daudé 0 siblings, 2 replies; 8+ messages in thread From: Thomas Huth @ 2025-01-16 6:46 UTC (permalink / raw) To: qemu-devel, Philippe Mathieu-Daudé, Paolo Bonzini Cc: Peter Maydell, Daniel P . Berrange, Zhao Liu, Michael S . Tsirkin We now have a general note about versioned machine types getting deprecated and removed at the beginning of the deprecated.rst file, so we should also have a general note about this in removed-features.rst (which will also apply to versioned non-x86 machine types) instead of listing individual old machine types in the document. Signed-off-by: Thomas Huth <thuth@redhat.com> --- docs/about/deprecated.rst | 7 ------- docs/about/removed-features.rst | 11 +++++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 4a3c302962..7b42d6eecc 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name better reflects the way this property affects all random data within the device tree blob, not just the ``kaslr-seed`` node. -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) -'''''''''''''''''''''''''''''''''''''''''''''''''''''' - -These old machine types are quite neglected nowadays and thus might have -various pitfalls with regards to live migration. Use a newer machine type -instead. - PPC 405 ``ref405ep`` machine (since 9.1) '''''''''''''''''''''''''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index c6616ce05e..156c0c253c 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. System emulator machines ------------------------ +Note: Versioned machine types that have been introduced in a QEMU version +that has initially been released more than 6 years before are considered +obsolete and will be removed without further notice in this document. +Please use newer machine types instead. + ``s390-virtio`` (removed in 2.6) '''''''''''''''''''''''''''''''' @@ -1006,12 +1011,6 @@ mips ``fulong2e`` machine alias (removed in 6.0) This machine has been renamed ``fuloong2e``. -``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -These machine types were very old and likely could not be used for live -migration from old QEMU versions anymore. Use a newer machine type instead. - Raspberry Pi ``raspi2`` and ``raspi3`` machines (removed in 6.2) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -- 2.47.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-01-16 6:46 [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one Thomas Huth @ 2025-01-16 7:58 ` Zhao Liu 2025-01-16 8:48 ` Philippe Mathieu-Daudé 1 sibling, 0 replies; 8+ messages in thread From: Zhao Liu @ 2025-01-16 7:58 UTC (permalink / raw) To: Thomas Huth Cc: qemu-devel, Philippe Mathieu-Daudé, Paolo Bonzini, Peter Maydell, Daniel P . Berrange, Michael S . Tsirkin On Thu, Jan 16, 2025 at 07:46:44AM +0100, Thomas Huth wrote: > Date: Thu, 16 Jan 2025 07:46:44 +0100 > From: Thomas Huth <thuth@redhat.com> > Subject: [PATCH] docs/about: Change notes on x86 machine type deprecation > into a general one > > We now have a general note about versioned machine types getting > deprecated and removed at the beginning of the deprecated.rst file, > so we should also have a general note about this in removed-features.rst > (which will also apply to versioned non-x86 machine types) instead of > listing individual old machine types in the document. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 7 ------- > docs/about/removed-features.rst | 11 +++++------ > 2 files changed, 5 insertions(+), 13 deletions(-) > Sounds good to me, so: Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Let's see if others have any feedback :-) ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-01-16 6:46 [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one Thomas Huth 2025-01-16 7:58 ` Zhao Liu @ 2025-01-16 8:48 ` Philippe Mathieu-Daudé 2025-01-16 9:19 ` Daniel P. Berrangé 1 sibling, 1 reply; 8+ messages in thread From: Philippe Mathieu-Daudé @ 2025-01-16 8:48 UTC (permalink / raw) To: Thomas Huth, qemu-devel, Paolo Bonzini Cc: Peter Maydell, Daniel P . Berrange, Zhao Liu, Michael S . Tsirkin On 16/1/25 07:46, Thomas Huth wrote: > We now have a general note about versioned machine types getting > deprecated and removed at the beginning of the deprecated.rst file, > so we should also have a general note about this in removed-features.rst > (which will also apply to versioned non-x86 machine types) instead of > listing individual old machine types in the document. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 7 ------- > docs/about/removed-features.rst | 11 +++++------ > 2 files changed, 5 insertions(+), 13 deletions(-) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index 4a3c302962..7b42d6eecc 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name > better reflects the way this property affects all random data within > the device tree blob, not just the ``kaslr-seed`` node. > > -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) > -'''''''''''''''''''''''''''''''''''''''''''''''''''''' > - > -These old machine types are quite neglected nowadays and thus might have > -various pitfalls with regards to live migration. Use a newer machine type > -instead. > - > PPC 405 ``ref405ep`` machine (since 9.1) > '''''''''''''''''''''''''''''''''''''''' > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > index c6616ce05e..156c0c253c 100644 > --- a/docs/about/removed-features.rst > +++ b/docs/about/removed-features.rst > @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. > System emulator machines > ------------------------ > > +Note: Versioned machine types that have been introduced in a QEMU version > +that has initially been released more than 6 years before are considered > +obsolete and will be removed without further notice in this document. > +Please use newer machine types instead. This is an improvement. I still wonder if we shouldn't list them removed machines here, to help old users. Removed in 4.0: - pc-0.10 - ... Removed in 9.0: - pc-i440fx-2.3 Remove in 10.0: - pc-i440fx-2.4 - pc-i440fx-2.5 - pc-i440fx-2.6 - pc-q35-2.4 - pc-q35-2.5 - pc-q35-2.6 - ARM virt-2.6 ... ? > + > ``s390-virtio`` (removed in 2.6) > '''''''''''''''''''''''''''''''' > > @@ -1006,12 +1011,6 @@ mips ``fulong2e`` machine alias (removed in 6.0) > > This machine has been renamed ``fuloong2e``. > > -``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0) > -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > - > -These machine types were very old and likely could not be used for live > -migration from old QEMU versions anymore. Use a newer machine type instead. > - > Raspberry Pi ``raspi2`` and ``raspi3`` machines (removed in 6.2) > '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-01-16 8:48 ` Philippe Mathieu-Daudé @ 2025-01-16 9:19 ` Daniel P. Berrangé 2025-01-16 10:59 ` Daniel P. Berrangé 0 siblings, 1 reply; 8+ messages in thread From: Daniel P. Berrangé @ 2025-01-16 9:19 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Thomas Huth, qemu-devel, Paolo Bonzini, Peter Maydell, Zhao Liu, Michael S . Tsirkin On Thu, Jan 16, 2025 at 09:48:50AM +0100, Philippe Mathieu-Daudé wrote: > On 16/1/25 07:46, Thomas Huth wrote: > > We now have a general note about versioned machine types getting > > deprecated and removed at the beginning of the deprecated.rst file, > > so we should also have a general note about this in removed-features.rst > > (which will also apply to versioned non-x86 machine types) instead of > > listing individual old machine types in the document. > > > > Signed-off-by: Thomas Huth <thuth@redhat.com> > > --- > > docs/about/deprecated.rst | 7 ------- > > docs/about/removed-features.rst | 11 +++++------ > > 2 files changed, 5 insertions(+), 13 deletions(-) > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > index 4a3c302962..7b42d6eecc 100644 > > --- a/docs/about/deprecated.rst > > +++ b/docs/about/deprecated.rst > > @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name > > better reflects the way this property affects all random data within > > the device tree blob, not just the ``kaslr-seed`` node. > > -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) > > -'''''''''''''''''''''''''''''''''''''''''''''''''''''' > > - > > -These old machine types are quite neglected nowadays and thus might have > > -various pitfalls with regards to live migration. Use a newer machine type > > -instead. > > - > > PPC 405 ``ref405ep`` machine (since 9.1) > > '''''''''''''''''''''''''''''''''''''''' > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > > index c6616ce05e..156c0c253c 100644 > > --- a/docs/about/removed-features.rst > > +++ b/docs/about/removed-features.rst > > @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. > > System emulator machines > > ------------------------ > > +Note: Versioned machine types that have been introduced in a QEMU version > > +that has initially been released more than 6 years before are considered > > +obsolete and will be removed without further notice in this document. > > +Please use newer machine types instead. > > This is an improvement. I still wonder if we shouldn't list them removed > machines here, to help old users. > > Removed in 4.0: > - pc-0.10 > - ... > Removed in 9.0: > - pc-i440fx-2.3 > Remove in 10.0: > - pc-i440fx-2.4 > - pc-i440fx-2.5 > - pc-i440fx-2.6 > - pc-q35-2.4 > - pc-q35-2.5 > - pc-q35-2.6 > - ARM virt-2.6 > ... > > ? A big part of the reason for the macros for machine type deprecation & then skipping machine registration, was to eliminate repeated manual work that is visible to users if forgotten. We still have the actual code deletion which is manual, but that's harmless as even if forgotten, such that the code exists, the machine type will have been entirely removed from view. As such I'm pretty reluctant to suggest we create a new place which needs manually updating when we remove machine types. I wonder if its possible to get an auto-generated version number into the documentation though ? eg, so we can have an entry in 'deprecated.rst' Versioned machine types for x86_64, i386, aarch64 <other targets here> ----------------------------------------------------------------------- In accordance with our versioned machine type deprecation policy, all machine types older than 7.0.0 have been deprecated. and in 'removed-features.rst' Versioned machine types for x86_64, i386, aarch64 <other targets here> ----------------------------------------------------------------------- In accordance with our versioned machine type removal policy, all machine types older than 4.1.0 have been removed. where both '7.0.0' and '4.1.0' are variables substituted in by the docs generator in some manner, so we never need touch them manually ? NB, this auto-deletion logic is currently hacked to only come into effect from 10.1.0 onwards, so we're 1 cycle too early currently (see commit c9fd2d9a48ee3c195cf83cc611b87b09f02f0013) 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] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-01-16 9:19 ` Daniel P. Berrangé @ 2025-01-16 10:59 ` Daniel P. Berrangé 2025-02-20 14:59 ` Michael S. Tsirkin 0 siblings, 1 reply; 8+ messages in thread From: Daniel P. Berrangé @ 2025-01-16 10:59 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Thomas Huth, qemu-devel, Paolo Bonzini, Peter Maydell, Zhao Liu, Michael S . Tsirkin On Thu, Jan 16, 2025 at 09:19:20AM +0000, Daniel P. Berrangé wrote: > On Thu, Jan 16, 2025 at 09:48:50AM +0100, Philippe Mathieu-Daudé wrote: > > On 16/1/25 07:46, Thomas Huth wrote: > > > We now have a general note about versioned machine types getting > > > deprecated and removed at the beginning of the deprecated.rst file, > > > so we should also have a general note about this in removed-features.rst > > > (which will also apply to versioned non-x86 machine types) instead of > > > listing individual old machine types in the document. > > > > > > Signed-off-by: Thomas Huth <thuth@redhat.com> > > > --- > > > docs/about/deprecated.rst | 7 ------- > > > docs/about/removed-features.rst | 11 +++++------ > > > 2 files changed, 5 insertions(+), 13 deletions(-) > > > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > > index 4a3c302962..7b42d6eecc 100644 > > > --- a/docs/about/deprecated.rst > > > +++ b/docs/about/deprecated.rst > > > @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name > > > better reflects the way this property affects all random data within > > > the device tree blob, not just the ``kaslr-seed`` node. > > > -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) > > > -'''''''''''''''''''''''''''''''''''''''''''''''''''''' > > > - > > > -These old machine types are quite neglected nowadays and thus might have > > > -various pitfalls with regards to live migration. Use a newer machine type > > > -instead. > > > - > > > PPC 405 ``ref405ep`` machine (since 9.1) > > > '''''''''''''''''''''''''''''''''''''''' > > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > > > index c6616ce05e..156c0c253c 100644 > > > --- a/docs/about/removed-features.rst > > > +++ b/docs/about/removed-features.rst > > > @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. > > > System emulator machines > > > ------------------------ > > > +Note: Versioned machine types that have been introduced in a QEMU version > > > +that has initially been released more than 6 years before are considered > > > +obsolete and will be removed without further notice in this document. > > > +Please use newer machine types instead. > > > > This is an improvement. I still wonder if we shouldn't list them removed > > machines here, to help old users. > > > > Removed in 4.0: > > - pc-0.10 > > - ... > > Removed in 9.0: > > - pc-i440fx-2.3 > > Remove in 10.0: > > - pc-i440fx-2.4 > > - pc-i440fx-2.5 > > - pc-i440fx-2.6 > > - pc-q35-2.4 > > - pc-q35-2.5 > > - pc-q35-2.6 > > - ARM virt-2.6 > > ... > > > > ? > > A big part of the reason for the macros for machine type deprecation & then > skipping machine registration, was to eliminate repeated manual work that is > visible to users if forgotten. > > We still have the actual code deletion which is manual, but that's harmless > as even if forgotten, such that the code exists, the machine type will have > been entirely removed from view. > > As such I'm pretty reluctant to suggest we create a new place which needs > manually updating when we remove machine types. > > I wonder if its possible to get an auto-generated version number into the > documentation though ? To answer my own question, yes with something like this: diff --git a/docs/conf.py b/docs/conf.py index 31bb9a3789..899ad13305 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -110,6 +110,22 @@ else: version = release = "unknown version" +bits = version.split(".") +major = int(bits[0]) +minor = int(bits[1]) +micro = int(bits[2]) + +# Dev snapshot, adjust to next release version +if micro >= 50: + micro = 0 + minor += 1 + if minor == 3: + major += 1 + minor = 0 + +ver_machine_deprecation_version = "%d.%d.%d" % (major - 3, minor, micro) +ver_machine_deletion_version = "%d.%d.%d" % (major - 6, minor, micro) + # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # @@ -138,7 +154,18 @@ # environment variable is not set is for the benefit of readthedocs # style document building; our Makefile always sets the variable. confdir = os.getenv('CONFDIR', "/etc/qemu") -rst_epilog = ".. |CONFDIR| replace:: ``" + confdir + "``\n" + +vars = { + "CONFDIR": confdir, + "VER_MACHINE_DEPRECATION_VERSION": ver_machine_deprecation_version, + "VER_MACHINE_DELETION_VERSION": ver_machine_deletion_version, +} + +rst_epilog = "".join([ + ".. |" + key + "| replace:: ``" + vars[key] + "``\n" + for key in vars.keys() +]) + # We slurp in the defs.rst.inc and literally include it into rst_epilog, # because Sphinx's include:: directive doesn't work with absolute paths # and there isn't any one single relative path that will work for all Then.... > > eg, so we can have an entry in 'deprecated.rst' > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > ----------------------------------------------------------------------- > > In accordance with our versioned machine type deprecation policy, > all machine types older than 7.0.0 have been deprecated. use |VER_MACHINE_DEPRECATION_VERSION| here > > and in 'removed-features.rst' > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > ----------------------------------------------------------------------- > > In accordance with our versioned machine type removal policy, > all machine types older than 4.1.0 have been removed. use |VER_MACHINE_DELETION_VERSION| here though, we should not add to removed-features.rst until 10.1.0 cycle since we don't start to do automatic deletion until then. 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 related [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-01-16 10:59 ` Daniel P. Berrangé @ 2025-02-20 14:59 ` Michael S. Tsirkin 2025-02-20 15:21 ` Thomas Huth 0 siblings, 1 reply; 8+ messages in thread From: Michael S. Tsirkin @ 2025-02-20 14:59 UTC (permalink / raw) To: Daniel P. Berrangé Cc: Philippe Mathieu-Daudé, Thomas Huth, qemu-devel, Paolo Bonzini, Peter Maydell, Zhao Liu On Thu, Jan 16, 2025 at 10:59:10AM +0000, Daniel P. Berrangé wrote: > On Thu, Jan 16, 2025 at 09:19:20AM +0000, Daniel P. Berrangé wrote: > > On Thu, Jan 16, 2025 at 09:48:50AM +0100, Philippe Mathieu-Daudé wrote: > > > On 16/1/25 07:46, Thomas Huth wrote: > > > > We now have a general note about versioned machine types getting > > > > deprecated and removed at the beginning of the deprecated.rst file, > > > > so we should also have a general note about this in removed-features.rst > > > > (which will also apply to versioned non-x86 machine types) instead of > > > > listing individual old machine types in the document. > > > > > > > > Signed-off-by: Thomas Huth <thuth@redhat.com> > > > > --- > > > > docs/about/deprecated.rst | 7 ------- > > > > docs/about/removed-features.rst | 11 +++++------ > > > > 2 files changed, 5 insertions(+), 13 deletions(-) > > > > > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > > > index 4a3c302962..7b42d6eecc 100644 > > > > --- a/docs/about/deprecated.rst > > > > +++ b/docs/about/deprecated.rst > > > > @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name > > > > better reflects the way this property affects all random data within > > > > the device tree blob, not just the ``kaslr-seed`` node. > > > > -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) > > > > -'''''''''''''''''''''''''''''''''''''''''''''''''''''' > > > > - > > > > -These old machine types are quite neglected nowadays and thus might have > > > > -various pitfalls with regards to live migration. Use a newer machine type > > > > -instead. > > > > - > > > > PPC 405 ``ref405ep`` machine (since 9.1) > > > > '''''''''''''''''''''''''''''''''''''''' > > > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > > > > index c6616ce05e..156c0c253c 100644 > > > > --- a/docs/about/removed-features.rst > > > > +++ b/docs/about/removed-features.rst > > > > @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. > > > > System emulator machines > > > > ------------------------ > > > > +Note: Versioned machine types that have been introduced in a QEMU version > > > > +that has initially been released more than 6 years before are considered > > > > +obsolete and will be removed without further notice in this document. > > > > +Please use newer machine types instead. > > > > > > This is an improvement. I still wonder if we shouldn't list them removed > > > machines here, to help old users. > > > > > > Removed in 4.0: > > > - pc-0.10 > > > - ... > > > Removed in 9.0: > > > - pc-i440fx-2.3 > > > Remove in 10.0: > > > - pc-i440fx-2.4 > > > - pc-i440fx-2.5 > > > - pc-i440fx-2.6 > > > - pc-q35-2.4 > > > - pc-q35-2.5 > > > - pc-q35-2.6 > > > - ARM virt-2.6 > > > ... > > > > > > ? > > > > A big part of the reason for the macros for machine type deprecation & then > > skipping machine registration, was to eliminate repeated manual work that is > > visible to users if forgotten. > > > > We still have the actual code deletion which is manual, but that's harmless > > as even if forgotten, such that the code exists, the machine type will have > > been entirely removed from view. > > > > As such I'm pretty reluctant to suggest we create a new place which needs > > manually updating when we remove machine types. > > > > I wonder if its possible to get an auto-generated version number into the > > documentation though ? > > To answer my own question, yes with something like this: > > diff --git a/docs/conf.py b/docs/conf.py > index 31bb9a3789..899ad13305 100644 > --- a/docs/conf.py > +++ b/docs/conf.py > @@ -110,6 +110,22 @@ > else: > version = release = "unknown version" > > +bits = version.split(".") > +major = int(bits[0]) > +minor = int(bits[1]) > +micro = int(bits[2]) > + > +# Dev snapshot, adjust to next release version > +if micro >= 50: > + micro = 0 > + minor += 1 > + if minor == 3: > + major += 1 > + minor = 0 > + > +ver_machine_deprecation_version = "%d.%d.%d" % (major - 3, minor, micro) > +ver_machine_deletion_version = "%d.%d.%d" % (major - 6, minor, micro) > + > # The language for content autogenerated by Sphinx. Refer to documentation > # for a list of supported languages. > # > @@ -138,7 +154,18 @@ > # environment variable is not set is for the benefit of readthedocs > # style document building; our Makefile always sets the variable. > confdir = os.getenv('CONFDIR', "/etc/qemu") > -rst_epilog = ".. |CONFDIR| replace:: ``" + confdir + "``\n" > + > +vars = { > + "CONFDIR": confdir, > + "VER_MACHINE_DEPRECATION_VERSION": ver_machine_deprecation_version, > + "VER_MACHINE_DELETION_VERSION": ver_machine_deletion_version, > +} > + > +rst_epilog = "".join([ > + ".. |" + key + "| replace:: ``" + vars[key] + "``\n" > + for key in vars.keys() > +]) > + > # We slurp in the defs.rst.inc and literally include it into rst_epilog, > # because Sphinx's include:: directive doesn't work with absolute paths > # and there isn't any one single relative path that will work for all > > > Then.... > > > > > > eg, so we can have an entry in 'deprecated.rst' > > > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > > ----------------------------------------------------------------------- > > > > In accordance with our versioned machine type deprecation policy, > > all machine types older than 7.0.0 have been deprecated. > > use |VER_MACHINE_DEPRECATION_VERSION| here > > > > > and in 'removed-features.rst' > > > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > > ----------------------------------------------------------------------- > > > > In accordance with our versioned machine type removal policy, > > all machine types older than 4.1.0 have been removed. > > use |VER_MACHINE_DELETION_VERSION| here > > though, we should not add to removed-features.rst until 10.1.0 cycle > since we don't start to do automatic deletion until then. > > With regards, > Daniel It's been quiet. Thomas, wdyt? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-02-20 14:59 ` Michael S. Tsirkin @ 2025-02-20 15:21 ` Thomas Huth 2025-02-24 9:46 ` Daniel P. Berrangé 0 siblings, 1 reply; 8+ messages in thread From: Thomas Huth @ 2025-02-20 15:21 UTC (permalink / raw) To: Michael S. Tsirkin, Daniel P. Berrangé Cc: Philippe Mathieu-Daudé, qemu-devel, Paolo Bonzini, Peter Maydell, Zhao Liu On 20/02/2025 15.59, Michael S. Tsirkin wrote: > On Thu, Jan 16, 2025 at 10:59:10AM +0000, Daniel P. Berrangé wrote: >> On Thu, Jan 16, 2025 at 09:19:20AM +0000, Daniel P. Berrangé wrote: >>> On Thu, Jan 16, 2025 at 09:48:50AM +0100, Philippe Mathieu-Daudé wrote: >>>> On 16/1/25 07:46, Thomas Huth wrote: >>>>> We now have a general note about versioned machine types getting >>>>> deprecated and removed at the beginning of the deprecated.rst file, >>>>> so we should also have a general note about this in removed-features.rst >>>>> (which will also apply to versioned non-x86 machine types) instead of >>>>> listing individual old machine types in the document. >>>>> >>>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>>> --- >>>>> docs/about/deprecated.rst | 7 ------- >>>>> docs/about/removed-features.rst | 11 +++++------ >>>>> 2 files changed, 5 insertions(+), 13 deletions(-) >>>>> >>>>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst >>>>> index 4a3c302962..7b42d6eecc 100644 >>>>> --- a/docs/about/deprecated.rst >>>>> +++ b/docs/about/deprecated.rst >>>>> @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name >>>>> better reflects the way this property affects all random data within >>>>> the device tree blob, not just the ``kaslr-seed`` node. >>>>> -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) >>>>> -'''''''''''''''''''''''''''''''''''''''''''''''''''''' >>>>> - >>>>> -These old machine types are quite neglected nowadays and thus might have >>>>> -various pitfalls with regards to live migration. Use a newer machine type >>>>> -instead. >>>>> - >>>>> PPC 405 ``ref405ep`` machine (since 9.1) >>>>> '''''''''''''''''''''''''''''''''''''''' >>>>> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst >>>>> index c6616ce05e..156c0c253c 100644 >>>>> --- a/docs/about/removed-features.rst >>>>> +++ b/docs/about/removed-features.rst >>>>> @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. >>>>> System emulator machines >>>>> ------------------------ >>>>> +Note: Versioned machine types that have been introduced in a QEMU version >>>>> +that has initially been released more than 6 years before are considered >>>>> +obsolete and will be removed without further notice in this document. >>>>> +Please use newer machine types instead. >>>> >>>> This is an improvement. I still wonder if we shouldn't list them removed >>>> machines here, to help old users. >>>> >>>> Removed in 4.0: >>>> - pc-0.10 >>>> - ... >>>> Removed in 9.0: >>>> - pc-i440fx-2.3 >>>> Remove in 10.0: >>>> - pc-i440fx-2.4 >>>> - pc-i440fx-2.5 >>>> - pc-i440fx-2.6 >>>> - pc-q35-2.4 >>>> - pc-q35-2.5 >>>> - pc-q35-2.6 >>>> - ARM virt-2.6 >>>> ... >>>> >>>> ? >>> >>> A big part of the reason for the macros for machine type deprecation & then >>> skipping machine registration, was to eliminate repeated manual work that is >>> visible to users if forgotten. >>> >>> We still have the actual code deletion which is manual, but that's harmless >>> as even if forgotten, such that the code exists, the machine type will have >>> been entirely removed from view. >>> >>> As such I'm pretty reluctant to suggest we create a new place which needs >>> manually updating when we remove machine types. >>> >>> I wonder if its possible to get an auto-generated version number into the >>> documentation though ? >> >> To answer my own question, yes with something like this: >> >> diff --git a/docs/conf.py b/docs/conf.py >> index 31bb9a3789..899ad13305 100644 >> --- a/docs/conf.py >> +++ b/docs/conf.py >> @@ -110,6 +110,22 @@ >> else: >> version = release = "unknown version" >> >> +bits = version.split(".") >> +major = int(bits[0]) >> +minor = int(bits[1]) >> +micro = int(bits[2]) >> + >> +# Dev snapshot, adjust to next release version >> +if micro >= 50: >> + micro = 0 >> + minor += 1 >> + if minor == 3: >> + major += 1 >> + minor = 0 >> + >> +ver_machine_deprecation_version = "%d.%d.%d" % (major - 3, minor, micro) >> +ver_machine_deletion_version = "%d.%d.%d" % (major - 6, minor, micro) >> + >> # The language for content autogenerated by Sphinx. Refer to documentation >> # for a list of supported languages. >> # >> @@ -138,7 +154,18 @@ >> # environment variable is not set is for the benefit of readthedocs >> # style document building; our Makefile always sets the variable. >> confdir = os.getenv('CONFDIR', "/etc/qemu") >> -rst_epilog = ".. |CONFDIR| replace:: ``" + confdir + "``\n" >> + >> +vars = { >> + "CONFDIR": confdir, >> + "VER_MACHINE_DEPRECATION_VERSION": ver_machine_deprecation_version, >> + "VER_MACHINE_DELETION_VERSION": ver_machine_deletion_version, >> +} >> + >> +rst_epilog = "".join([ >> + ".. |" + key + "| replace:: ``" + vars[key] + "``\n" >> + for key in vars.keys() >> +]) >> + >> # We slurp in the defs.rst.inc and literally include it into rst_epilog, >> # because Sphinx's include:: directive doesn't work with absolute paths >> # and there isn't any one single relative path that will work for all >> >> >> Then.... >> >> >>> >>> eg, so we can have an entry in 'deprecated.rst' >>> >>> Versioned machine types for x86_64, i386, aarch64 <other targets here> >>> ----------------------------------------------------------------------- >>> >>> In accordance with our versioned machine type deprecation policy, >>> all machine types older than 7.0.0 have been deprecated. >> >> use |VER_MACHINE_DEPRECATION_VERSION| here >> >>> >>> and in 'removed-features.rst' >>> >>> Versioned machine types for x86_64, i386, aarch64 <other targets here> >>> ----------------------------------------------------------------------- >>> >>> In accordance with our versioned machine type removal policy, >>> all machine types older than 4.1.0 have been removed. >> >> use |VER_MACHINE_DELETION_VERSION| here >> >> though, we should not add to removed-features.rst until 10.1.0 cycle >> since we don't start to do automatic deletion until then. >> >> With regards, >> Daniel > > It's been quiet. Thomas, wdyt? I assumed Daniel would go forward and post his idea as a proper patch? Thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one 2025-02-20 15:21 ` Thomas Huth @ 2025-02-24 9:46 ` Daniel P. Berrangé 0 siblings, 0 replies; 8+ messages in thread From: Daniel P. Berrangé @ 2025-02-24 9:46 UTC (permalink / raw) To: Thomas Huth Cc: Michael S. Tsirkin, Philippe Mathieu-Daudé, qemu-devel, Paolo Bonzini, Peter Maydell, Zhao Liu On Thu, Feb 20, 2025 at 04:21:42PM +0100, Thomas Huth wrote: > On 20/02/2025 15.59, Michael S. Tsirkin wrote: > > On Thu, Jan 16, 2025 at 10:59:10AM +0000, Daniel P. Berrangé wrote: > > > On Thu, Jan 16, 2025 at 09:19:20AM +0000, Daniel P. Berrangé wrote: > > > > On Thu, Jan 16, 2025 at 09:48:50AM +0100, Philippe Mathieu-Daudé wrote: > > > > > On 16/1/25 07:46, Thomas Huth wrote: > > > > > > We now have a general note about versioned machine types getting > > > > > > deprecated and removed at the beginning of the deprecated.rst file, > > > > > > so we should also have a general note about this in removed-features.rst > > > > > > (which will also apply to versioned non-x86 machine types) instead of > > > > > > listing individual old machine types in the document. > > > > > > > > > > > > Signed-off-by: Thomas Huth <thuth@redhat.com> > > > > > > --- > > > > > > docs/about/deprecated.rst | 7 ------- > > > > > > docs/about/removed-features.rst | 11 +++++------ > > > > > > 2 files changed, 5 insertions(+), 13 deletions(-) > > > > > > > > > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > > > > > index 4a3c302962..7b42d6eecc 100644 > > > > > > --- a/docs/about/deprecated.rst > > > > > > +++ b/docs/about/deprecated.rst > > > > > > @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name > > > > > > better reflects the way this property affects all random data within > > > > > > the device tree blob, not just the ``kaslr-seed`` node. > > > > > > -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) > > > > > > -'''''''''''''''''''''''''''''''''''''''''''''''''''''' > > > > > > - > > > > > > -These old machine types are quite neglected nowadays and thus might have > > > > > > -various pitfalls with regards to live migration. Use a newer machine type > > > > > > -instead. > > > > > > - > > > > > > PPC 405 ``ref405ep`` machine (since 9.1) > > > > > > '''''''''''''''''''''''''''''''''''''''' > > > > > > diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst > > > > > > index c6616ce05e..156c0c253c 100644 > > > > > > --- a/docs/about/removed-features.rst > > > > > > +++ b/docs/about/removed-features.rst > > > > > > @@ -972,6 +972,11 @@ from Linux in 2021, and is not supported anymore by QEMU either. > > > > > > System emulator machines > > > > > > ------------------------ > > > > > > +Note: Versioned machine types that have been introduced in a QEMU version > > > > > > +that has initially been released more than 6 years before are considered > > > > > > +obsolete and will be removed without further notice in this document. > > > > > > +Please use newer machine types instead. > > > > > > > > > > This is an improvement. I still wonder if we shouldn't list them removed > > > > > machines here, to help old users. > > > > > > > > > > Removed in 4.0: > > > > > - pc-0.10 > > > > > - ... > > > > > Removed in 9.0: > > > > > - pc-i440fx-2.3 > > > > > Remove in 10.0: > > > > > - pc-i440fx-2.4 > > > > > - pc-i440fx-2.5 > > > > > - pc-i440fx-2.6 > > > > > - pc-q35-2.4 > > > > > - pc-q35-2.5 > > > > > - pc-q35-2.6 > > > > > - ARM virt-2.6 > > > > > ... > > > > > > > > > > ? > > > > > > > > A big part of the reason for the macros for machine type deprecation & then > > > > skipping machine registration, was to eliminate repeated manual work that is > > > > visible to users if forgotten. > > > > > > > > We still have the actual code deletion which is manual, but that's harmless > > > > as even if forgotten, such that the code exists, the machine type will have > > > > been entirely removed from view. > > > > > > > > As such I'm pretty reluctant to suggest we create a new place which needs > > > > manually updating when we remove machine types. > > > > > > > > I wonder if its possible to get an auto-generated version number into the > > > > documentation though ? > > > > > > To answer my own question, yes with something like this: > > > > > > diff --git a/docs/conf.py b/docs/conf.py > > > index 31bb9a3789..899ad13305 100644 > > > --- a/docs/conf.py > > > +++ b/docs/conf.py > > > @@ -110,6 +110,22 @@ > > > else: > > > version = release = "unknown version" > > > +bits = version.split(".") > > > +major = int(bits[0]) > > > +minor = int(bits[1]) > > > +micro = int(bits[2]) > > > + > > > +# Dev snapshot, adjust to next release version > > > +if micro >= 50: > > > + micro = 0 > > > + minor += 1 > > > + if minor == 3: > > > + major += 1 > > > + minor = 0 > > > + > > > +ver_machine_deprecation_version = "%d.%d.%d" % (major - 3, minor, micro) > > > +ver_machine_deletion_version = "%d.%d.%d" % (major - 6, minor, micro) > > > + > > > # The language for content autogenerated by Sphinx. Refer to documentation > > > # for a list of supported languages. > > > # > > > @@ -138,7 +154,18 @@ > > > # environment variable is not set is for the benefit of readthedocs > > > # style document building; our Makefile always sets the variable. > > > confdir = os.getenv('CONFDIR', "/etc/qemu") > > > -rst_epilog = ".. |CONFDIR| replace:: ``" + confdir + "``\n" > > > + > > > +vars = { > > > + "CONFDIR": confdir, > > > + "VER_MACHINE_DEPRECATION_VERSION": ver_machine_deprecation_version, > > > + "VER_MACHINE_DELETION_VERSION": ver_machine_deletion_version, > > > +} > > > + > > > +rst_epilog = "".join([ > > > + ".. |" + key + "| replace:: ``" + vars[key] + "``\n" > > > + for key in vars.keys() > > > +]) > > > + > > > # We slurp in the defs.rst.inc and literally include it into rst_epilog, > > > # because Sphinx's include:: directive doesn't work with absolute paths > > > # and there isn't any one single relative path that will work for all > > > > > > > > > Then.... > > > > > > > > > > > > > > eg, so we can have an entry in 'deprecated.rst' > > > > > > > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > > > > ----------------------------------------------------------------------- > > > > > > > > In accordance with our versioned machine type deprecation policy, > > > > all machine types older than 7.0.0 have been deprecated. > > > > > > use |VER_MACHINE_DEPRECATION_VERSION| here > > > > > > > > > > > and in 'removed-features.rst' > > > > > > > > Versioned machine types for x86_64, i386, aarch64 <other targets here> > > > > ----------------------------------------------------------------------- > > > > > > > > In accordance with our versioned machine type removal policy, > > > > all machine types older than 4.1.0 have been removed. > > > > > > use |VER_MACHINE_DELETION_VERSION| here > > > > > > though, we should not add to removed-features.rst until 10.1.0 cycle > > > since we don't start to do automatic deletion until then. > > > > > > With regards, > > > Daniel > > > > It's been quiet. Thomas, wdyt? > > I assumed Daniel would go forward and post his idea as a proper patch? I thought I did, but I guess this got lost/forgotten... 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] 8+ messages in thread
end of thread, other threads:[~2025-02-24 9:48 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-01-16 6:46 [PATCH] docs/about: Change notes on x86 machine type deprecation into a general one Thomas Huth 2025-01-16 7:58 ` Zhao Liu 2025-01-16 8:48 ` Philippe Mathieu-Daudé 2025-01-16 9:19 ` Daniel P. Berrangé 2025-01-16 10:59 ` Daniel P. Berrangé 2025-02-20 14:59 ` Michael S. Tsirkin 2025-02-20 15:21 ` Thomas Huth 2025-02-24 9:46 ` Daniel P. Berrangé
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).