[PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup

Markus Armbruster (4): docs/about: Belatedly document tightening of QMP device_add checking qapi/migration: Deprecate migrate argument @detach docs/about/deprecated: Move deprecation notes to tidy up order docs/about/removed-features: Move removal notes to tidy up order docs/about/deprecated.rst | 47 +++++++++------------- docs/about/removed-features.rst | 69 +++++++++++++++++++-------------- qapi/migration.json | 18 ++++----- 3 files changed, 67 insertions(+), 67 deletions(-) -- 2.48.1

Commit 4d8b0f0a9536 (v6.2.0) deprecate incorrectly typed device_add arguments. Commit be93fd53723c (qdev-monitor: avoid QemuOpts in QMP device_add) fixed them for v9.2.0, but neglected to update documentation. Do that now. Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 14 -------------- docs/about/removed-features.rst | 9 +++++++++ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 44d3427e98..9665bc6fcf 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -187,20 +187,6 @@ threads (for example, it only reports source side of multifd threads, without reporting any destination threads, or non-multifd source threads). For debugging purpose, please use ``-name $VM,debug-threads=on`` instead. -Incorrectly typed ``device_add`` arguments (since 6.2) -'''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Due to shortcomings in the internal implementation of ``device_add``, QEMU -incorrectly accepts certain invalid arguments: Any object or list arguments are -silently ignored. Other argument types are not checked, but an implicit -conversion happens, so that e.g. string values can be assigned to integer -device properties or vice versa. - -This is a bug in QEMU that will be fixed in the future so that previously -accepted incorrect commands will return an error. Users should make sure that -all arguments passed to ``device_add`` are consistent with the documented -property types. - Host Architectures ------------------ diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 063284d4f8..92b5ba6218 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -722,6 +722,15 @@ Use ``multifd-channels`` instead. Use ``multifd-compression`` instead. +Incorrectly typed ``device_add`` arguments (since 9.2) +'''''''''''''''''''''''''''''''''''''''''''''''''''''' + +Due to shortcomings in the internal implementation of ``device_add``, +QEMU used to incorrectly accept certain invalid arguments. Any object +or list arguments were silently ignored. Other argument types were not +checked, but an implicit conversion happened, so that e.g. string +values could be assigned to integer device properties or vice versa. + QEMU Machine Protocol (QMP) events ---------------------------------- -- 2.48.1

On Wed, May 21, 2025 at 08:37:08AM +0200, Markus Armbruster wrote:
Commit 4d8b0f0a9536 (v6.2.0) deprecate incorrectly typed device_add arguments. Commit be93fd53723c (qdev-monitor: avoid QemuOpts in QMP device_add) fixed them for v9.2.0, but neglected to update documentation. Do that now.
Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 14 -------------- docs/about/removed-features.rst | 9 +++++++++ 2 files changed, 9 insertions(+), 14 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

On Wed, May 21, 2025 at 08:37:08AM +0200, Markus Armbruster via Devel wrote:
Commit 4d8b0f0a9536 (v6.2.0) deprecate incorrectly typed device_add
deprecated
arguments. Commit be93fd53723c (qdev-monitor: avoid QemuOpts in QMP device_add) fixed them for v9.2.0, but neglected to update documentation. Do that now.
Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
-- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Eric Blake <eblake@redhat.com> writes:
On Wed, May 21, 2025 at 08:37:08AM +0200, Markus Armbruster via Devel wrote:
Commit 4d8b0f0a9536 (v6.2.0) deprecate incorrectly typed device_add
deprecated
Yes. Thank you!
arguments. Commit be93fd53723c (qdev-monitor: avoid QemuOpts in QMP device_add) fixed them for v9.2.0, but neglected to update documentation. Do that now.
Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Argument @detach has always been ignored. Start the clock to get rid of it. Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead. Use ``job-finalize`` instead. +``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored. + ``query-migrationthreads`` (since 9.2) '''''''''''''''''''''''''''''''''''''' diff --git a/qapi/migration.json b/qapi/migration.json index 8b9c53595c..ecd266f98e 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1660,6 +1660,10 @@ # # @resume: resume one paused migration, default "off". (since 3.0) # +# Features: +# +# @deprecated: Argument @detach is deprecated. +# # Since: 0.14 # # .. admonition:: Notes @@ -1668,19 +1672,14 @@ # migration's progress and final result (this information is # provided by the 'status' member). # -# 2. All boolean arguments default to false. -# -# 3. The user Monitor's "detach" argument is invalid in QMP and -# should not be used. -# -# 4. The uri argument should have the Uniform Resource Identifier +# 2. The uri argument should have the Uniform Resource Identifier # of default destination VM. This connection will be bound to # default network. # -# 5. For now, number of migration streams is restricted to one, +# 3. For now, number of migration streams is restricted to one, # i.e. number of items in 'channels' list is just 1. # -# 6. The 'uri' and 'channels' arguments are mutually exclusive; +# 4. The 'uri' and 'channels' arguments are mutually exclusive; # exactly one of the two should be present. # # .. qmp-example:: @@ -1724,7 +1723,8 @@ { 'command': 'migrate', 'data': {'*uri': 'str', '*channels': [ 'MigrationChannel' ], - '*detach': 'bool', '*resume': 'bool' } } + '*detach': { 'type': 'bool', 'features': [ 'deprecated' ] }, + '*resume': 'bool' } } ## # @migrate-incoming: -- 2.48.1

On Wed, May 21, 2025 at 08:37:09 +0200, Markus Armbruster via Devel wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored.
Huh; libvirt is actually always specifying it for some reason. I'll post patches shortly getting rid of it completely in libvirt

On Wed, May 21, 2025 at 09:46:10 +0200, Peter Krempa via Devel wrote:
On Wed, May 21, 2025 at 08:37:09 +0200, Markus Armbruster via Devel wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored.
Huh; libvirt is actually always specifying it for some reason.
I'll post patches shortly getting rid of it completely in libvirt
Patch 2/2 of https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/VPMP... addresses the above. I noticed that 'dump-guest-memory' does also have 'detach' option but that one at least has effect, even when it's not really useful (blocking monitor if not used). On behalf of libvirt: Series: ACKed-by: Peter Krempa <pkrempa@redhat.com>

Peter Krempa <pkrempa@redhat.com> writes:
On Wed, May 21, 2025 at 09:46:10 +0200, Peter Krempa via Devel wrote:
On Wed, May 21, 2025 at 08:37:09 +0200, Markus Armbruster via Devel wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored.
Huh; libvirt is actually always specifying it for some reason.
I'll post patches shortly getting rid of it completely in libvirt
Patch 2/2 of
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/VPMP...
addresses the above. I noticed that 'dump-guest-memory' does also have 'detach' option but that one at least has effect, even when it's not really useful (blocking monitor if not used).
Another long-running task that should be a job...
On behalf of libvirt:
Series:
ACKed-by: Peter Krempa <pkrempa@redhat.com>
Thanks!

Markus Armbruster <armbru@redhat.com> writes:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>

On Wed, May 21, 2025 at 08:37:09AM +0200, Markus Armbruster wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored. + ``query-migrationthreads`` (since 9.2) ''''''''''''''''''''''''''''''''''''''
diff --git a/qapi/migration.json b/qapi/migration.json index 8b9c53595c..ecd266f98e 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1660,6 +1660,10 @@ # # @resume: resume one paused migration, default "off". (since 3.0) # +# Features: +# +# @deprecated: Argument @detach is deprecated. +# # Since: 0.14 # # .. admonition:: Notes @@ -1668,19 +1672,14 @@ # migration's progress and final result (this information is # provided by the 'status' member). # -# 2. All boolean arguments default to false.
There's one more boolean ("resume") exists, but probably not a huge deal.. All booleans if not mentioned should have a default-false semantics at least to me. Reviewed-by: Peter Xu <peterx@redhat.com>
-# -# 3. The user Monitor's "detach" argument is invalid in QMP and -# should not be used. -# -# 4. The uri argument should have the Uniform Resource Identifier +# 2. The uri argument should have the Uniform Resource Identifier # of default destination VM. This connection will be bound to # default network. # -# 5. For now, number of migration streams is restricted to one, +# 3. For now, number of migration streams is restricted to one, # i.e. number of items in 'channels' list is just 1. # -# 6. The 'uri' and 'channels' arguments are mutually exclusive; +# 4. The 'uri' and 'channels' arguments are mutually exclusive; # exactly one of the two should be present. # # .. qmp-example:: @@ -1724,7 +1723,8 @@ { 'command': 'migrate', 'data': {'*uri': 'str', '*channels': [ 'MigrationChannel' ], - '*detach': 'bool', '*resume': 'bool' } } + '*detach': { 'type': 'bool', 'features': [ 'deprecated' ] }, + '*resume': 'bool' } }
## # @migrate-incoming: -- 2.48.1
-- Peter Xu

Peter Xu <peterx@redhat.com> writes:
On Wed, May 21, 2025 at 08:37:09AM +0200, Markus Armbruster wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored. + ``query-migrationthreads`` (since 9.2) ''''''''''''''''''''''''''''''''''''''
diff --git a/qapi/migration.json b/qapi/migration.json index 8b9c53595c..ecd266f98e 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1660,6 +1660,10 @@ # # @resume: resume one paused migration, default "off". (since 3.0) # +# Features: +# +# @deprecated: Argument @detach is deprecated. +# # Since: 0.14 # # .. admonition:: Notes @@ -1668,19 +1672,14 @@ # migration's progress and final result (this information is # provided by the 'status' member). # -# 2. All boolean arguments default to false.
There's one more boolean ("resume") exists, but probably not a huge deal.. All booleans if not mentioned should have a default-false semantics at least to me.
Its default remains documented. It's visible above :)
Reviewed-by: Peter Xu <peterx@redhat.com>
Thanks!

On Wed, May 21, 2025 at 04:28:33PM +0200, Markus Armbruster wrote:
Peter Xu <peterx@redhat.com> writes:
On Wed, May 21, 2025 at 08:37:09AM +0200, Markus Armbruster wrote:
Argument @detach has always been ignored. Start the clock to get rid of it.
Cc: Peter Xu <peterx@redhat.com> Cc: Fabiano Rosas <farosas@suse.de> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 5 +++++ qapi/migration.json | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 9665bc6fcf..ef4ea84e69 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -179,6 +179,11 @@ Use ``job-dismiss`` instead.
Use ``job-finalize`` instead.
+``migrate`` argument ``detach`` (since 10.1) +'''''''''''''''''''''''''''''''''''''''''''' + +This argument has always been ignored. + ``query-migrationthreads`` (since 9.2) ''''''''''''''''''''''''''''''''''''''
diff --git a/qapi/migration.json b/qapi/migration.json index 8b9c53595c..ecd266f98e 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1660,6 +1660,10 @@ # # @resume: resume one paused migration, default "off". (since 3.0) # +# Features: +# +# @deprecated: Argument @detach is deprecated. +# # Since: 0.14 # # .. admonition:: Notes @@ -1668,19 +1672,14 @@ # migration's progress and final result (this information is # provided by the 'status' member). # -# 2. All boolean arguments default to false.
There's one more boolean ("resume") exists, but probably not a huge deal.. All booleans if not mentioned should have a default-false semantics at least to me.
Its default remains documented. It's visible above :)
Ah, indeed! -- Peter Xu

The deprecation notes within a section are mostly in version order. Move the few that aren't so they are. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index ef4ea84e69..4715d1ede5 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -148,6 +148,14 @@ options are removed in favor of using explicit ``blockdev-create`` and ``blockdev-add`` calls. See :doc:`/interop/live-block-operations` for details. +``query-migrationthreads`` (since 9.2) +'''''''''''''''''''''''''''''''''''''' + +To be removed with no replacement, as it reports only a limited set of +threads (for example, it only reports source side of multifd threads, +without reporting any destination threads, or non-multifd source threads). +For debugging purpose, please use ``-name $VM,debug-threads=on`` instead. + ``block-job-pause`` (since 10.1) '''''''''''''''''''''''''''''''' @@ -184,14 +192,6 @@ Use ``job-finalize`` instead. This argument has always been ignored. -``query-migrationthreads`` (since 9.2) -'''''''''''''''''''''''''''''''''''''' - -To be removed with no replacement, as it reports only a limited set of -threads (for example, it only reports source side of multifd threads, -without reporting any destination threads, or non-multifd source threads). -For debugging purpose, please use ``-name $VM,debug-threads=on`` instead. - Host Architectures ------------------ @@ -522,14 +522,6 @@ PCIe passthrough shall be the mainline solution. CPU device properties ''''''''''''''''''''' -``pcommit`` on x86 (since 9.1) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The PCOMMIT instruction was never included in any physical processor. -It was implemented as a no-op instruction in TCG up to QEMU 9.0, but -only with ``-cpu max`` (which does not guarantee migration compatibility -across versions). - ``pmu-num=n`` on RISC-V CPUs (since 8.2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -539,6 +531,14 @@ be calculated with ``((2 ^ n) - 1) << 3``. The least significant three bits must be left clear. +``pcommit`` on x86 (since 9.1) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The PCOMMIT instruction was never included in any physical processor. +It was implemented as a no-op instruction in TCG up to QEMU 9.0, but +only with ``-cpu max`` (which does not guarantee migration compatibility +across versions). + Backwards compatibility ----------------------- -- 2.48.1

On Wed, May 21, 2025 at 08:37:10AM +0200, Markus Armbruster via Devel wrote:
The deprecation notes within a section are mostly in version order. Move the few that aren't so they are.
Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/deprecated.rst | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

The removal notes within a section are mostly in version order. Move the few that aren't so they are. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/removed-features.rst | 60 ++++++++++++++++----------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 92b5ba6218..4819cb4665 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -162,6 +162,12 @@ specified with ``-mem-path`` can actually provide the guest RAM configured with The ``name`` parameter of the ``-net`` option was a synonym for the ``id`` parameter, which should now be used instead. +RISC-V firmware not booted by default (removed in 5.1) +'''''''''''''''''''''''''''''''''''''''''''''''''''''' + +QEMU 5.1 changes the default behaviour from ``-bios none`` to ``-bios default`` +for the RISC-V ``virt`` machine and ``sifive_u`` machine. + ``-numa node,mem=...`` (removed in 5.1) ''''''''''''''''''''''''''''''''''''''' @@ -324,12 +330,6 @@ devices. Drives the board doesn't pick up can no longer be used with This option was undocumented and not used in the field. Use ``-device usb-ccid`` instead. -RISC-V firmware not booted by default (removed in 5.1) -'''''''''''''''''''''''''''''''''''''''''''''''''''''' - -QEMU 5.1 changes the default behaviour from ``-bios none`` to ``-bios default`` -for the RISC-V ``virt`` machine and ``sifive_u`` machine. - ``-no-quit`` (removed in 7.0) ''''''''''''''''''''''''''''' @@ -911,14 +911,6 @@ The RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and ``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified via the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs. -RISC-V 'any' CPU type ``-cpu any`` (removed in 9.2) -''''''''''''''''''''''''''''''''''''''''''''''''''' - -The 'any' CPU type was introduced back in 2018 and was around since the -initial RISC-V QEMU port. Its usage was always been unclear: users don't know -what to expect from a CPU called 'any', and in fact the CPU does not do anything -special that isn't already done by the default CPUs rv32/rv64. - ``compat`` property of server class POWER CPUs (removed in 6.0) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' @@ -965,6 +957,14 @@ The CRIS architecture was pulled from Linux in 4.17 and the compiler was no longer packaged in any distro making it harder to run the ``check-tcg`` tests. +RISC-V 'any' CPU type ``-cpu any`` (removed in 9.2) +''''''''''''''''''''''''''''''''''''''''''''''''''' + +The 'any' CPU type was introduced back in 2018 and was around since the +initial RISC-V QEMU port. Its usage was always been unclear: users don't know +what to expect from a CPU called 'any', and in fact the CPU does not do anything +special that isn't already done by the default CPUs rv32/rv64. + System accelerators ------------------- @@ -975,18 +975,18 @@ Userspace local APIC with KVM (x86, removed in 8.0) a local APIC. The ``split`` setting is supported, as is using ``-M kernel-irqchip=off`` when the CPU does not have a local APIC. -HAXM (``-accel hax``) (removed in 8.2) -'''''''''''''''''''''''''''''''''''''' - -The HAXM project has been retired (see https://github.com/intel/haxm#status). -Use "whpx" (on Windows) or "hvf" (on macOS) instead. - MIPS "Trap-and-Emulate" KVM support (removed in 8.0) '''''''''''''''''''''''''''''''''''''''''''''''''''' The MIPS "Trap-and-Emulate" KVM host and guest support was removed from Linux in 2021, and is not supported anymore by QEMU either. +HAXM (``-accel hax``) (removed in 8.2) +'''''''''''''''''''''''''''''''''''''' + +The HAXM project has been retired (see https://github.com/intel/haxm#status). +Use "whpx" (on Windows) or "hvf" (on macOS) instead. + System emulator machines ------------------------ @@ -1044,16 +1044,6 @@ Aspeed ``swift-bmc`` machine (removed in 7.0) This machine was removed because it was unused. Alternative AST2500 based OpenPOWER machines are ``witherspoon-bmc`` and ``romulus-bmc``. -Aspeed ``tacoma-bmc`` machine (removed in 10.0) -''''''''''''''''''''''''''''''''''''''''''''''' - -The ``tacoma-bmc`` machine was removed because it didn't bring much -compared to the ``rainier-bmc`` machine. Also, the ``tacoma-bmc`` was -a board used for bring up of the AST2600 SoC that never left the -labs. It can be easily replaced by the ``rainier-bmc`` machine, which -was the actual final product, or by the ``ast2600-evb`` with some -tweaks. - ppc ``taihu`` machine (removed in 7.2) ''''''''''''''''''''''''''''''''''''''''''''' @@ -1084,6 +1074,16 @@ 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. +Aspeed ``tacoma-bmc`` machine (removed in 10.0) +''''''''''''''''''''''''''''''''''''''''''''''' + +The ``tacoma-bmc`` machine was removed because it didn't bring much +compared to the ``rainier-bmc`` machine. Also, the ``tacoma-bmc`` was +a board used for bring up of the AST2600 SoC that never left the +labs. It can be easily replaced by the ``rainier-bmc`` machine, which +was the actual final product, or by the ``ast2600-evb`` with some +tweaks. + ppc ``ref405ep`` machine (removed in 10.0) '''''''''''''''''''''''''''''''''''''''''' -- 2.48.1

On Wed, May 21, 2025 at 08:37:11AM +0200, Markus Armbruster via Devel wrote:
The removal notes within a section are mostly in version order. Move the few that aren't so they are.
Signed-off-by: Markus Armbruster <armbru@redhat.com> --- docs/about/removed-features.rst | 60 ++++++++++++++++----------------- 1 file changed, 30 insertions(+), 30 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
participants (6)
-
Eric Blake
-
Fabiano Rosas
-
Markus Armbruster
-
Peter Krempa
-
Peter Xu
-
Stefan Hajnoczi