* [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking
2025-05-21 6:37 [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
@ 2025-05-21 6:37 ` Markus Armbruster
2025-05-21 14:59 ` Stefan Hajnoczi
2025-05-27 15:01 ` Eric Blake
2025-05-21 6:37 ` [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach Markus Armbruster
` (3 subsequent siblings)
4 siblings, 2 replies; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 6:37 UTC (permalink / raw)
To: qemu-devel; +Cc: devel, Stefan Hajnoczi
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
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking
2025-05-21 6:37 ` [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking Markus Armbruster
@ 2025-05-21 14:59 ` Stefan Hajnoczi
2025-05-27 15:01 ` Eric Blake
1 sibling, 0 replies; 18+ messages in thread
From: Stefan Hajnoczi @ 2025-05-21 14:59 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel
[-- Attachment #1: Type: text/plain, Size: 632 bytes --]
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>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking
2025-05-21 6:37 ` [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking Markus Armbruster
2025-05-21 14:59 ` Stefan Hajnoczi
@ 2025-05-27 15:01 ` Eric Blake
2025-05-28 4:51 ` Markus Armbruster
1 sibling, 1 reply; 18+ messages in thread
From: Eric Blake @ 2025-05-27 15:01 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel, Stefan Hajnoczi
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking
2025-05-27 15:01 ` Eric Blake
@ 2025-05-28 4:51 ` Markus Armbruster
0 siblings, 0 replies; 18+ messages in thread
From: Markus Armbruster @ 2025-05-28 4:51 UTC (permalink / raw)
To: Eric Blake; +Cc: qemu-devel, devel, Stefan Hajnoczi
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>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 6:37 [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
2025-05-21 6:37 ` [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking Markus Armbruster
@ 2025-05-21 6:37 ` Markus Armbruster
2025-05-21 7:46 ` Peter Krempa
` (2 more replies)
2025-05-21 6:37 ` [PATCH 3/4] docs/about/deprecated: Move deprecation notes to tidy up order Markus Armbruster
` (2 subsequent siblings)
4 siblings, 3 replies; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 6:37 UTC (permalink / raw)
To: qemu-devel; +Cc: devel, Peter Xu, Fabiano Rosas
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
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 6:37 ` [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach Markus Armbruster
@ 2025-05-21 7:46 ` Peter Krempa
2025-05-21 8:26 ` Peter Krempa
2025-05-21 12:47 ` Fabiano Rosas
2025-05-21 13:31 ` Peter Xu
2 siblings, 1 reply; 18+ messages in thread
From: Peter Krempa @ 2025-05-21 7:46 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel, Peter Xu, Fabiano Rosas
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 7:46 ` Peter Krempa
@ 2025-05-21 8:26 ` Peter Krempa
2025-05-21 9:21 ` Markus Armbruster
0 siblings, 1 reply; 18+ messages in thread
From: Peter Krempa @ 2025-05-21 8:26 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel, devel, Peter Xu, Fabiano Rosas
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/VPMPVPG5DSFORQODG4JGMZ2MTOJDQPPF/
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>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 8:26 ` Peter Krempa
@ 2025-05-21 9:21 ` Markus Armbruster
0 siblings, 0 replies; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 9:21 UTC (permalink / raw)
To: Peter Krempa; +Cc: qemu-devel, devel, Peter Xu, Fabiano Rosas
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/VPMPVPG5DSFORQODG4JGMZ2MTOJDQPPF/
>
> 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!
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 6:37 ` [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach Markus Armbruster
2025-05-21 7:46 ` Peter Krempa
@ 2025-05-21 12:47 ` Fabiano Rosas
2025-05-21 13:31 ` Peter Xu
2 siblings, 0 replies; 18+ messages in thread
From: Fabiano Rosas @ 2025-05-21 12:47 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel; +Cc: devel, Peter Xu
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>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 6:37 ` [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach Markus Armbruster
2025-05-21 7:46 ` Peter Krempa
2025-05-21 12:47 ` Fabiano Rosas
@ 2025-05-21 13:31 ` Peter Xu
2025-05-21 14:28 ` Markus Armbruster
2 siblings, 1 reply; 18+ messages in thread
From: Peter Xu @ 2025-05-21 13:31 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel, Fabiano Rosas
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 13:31 ` Peter Xu
@ 2025-05-21 14:28 ` Markus Armbruster
2025-05-21 14:55 ` Peter Xu
0 siblings, 1 reply; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 14:28 UTC (permalink / raw)
To: Peter Xu; +Cc: Markus Armbruster, qemu-devel, devel, Fabiano Rosas
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!
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach
2025-05-21 14:28 ` Markus Armbruster
@ 2025-05-21 14:55 ` Peter Xu
0 siblings, 0 replies; 18+ messages in thread
From: Peter Xu @ 2025-05-21 14:55 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel, Fabiano Rosas
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/4] docs/about/deprecated: Move deprecation notes to tidy up order
2025-05-21 6:37 [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
2025-05-21 6:37 ` [PATCH 1/4] docs/about: Belatedly document tightening of QMP device_add checking Markus Armbruster
2025-05-21 6:37 ` [PATCH 2/4] qapi/migration: Deprecate migrate argument @detach Markus Armbruster
@ 2025-05-21 6:37 ` Markus Armbruster
2025-05-27 15:04 ` Eric Blake
2025-05-21 6:37 ` [PATCH 4/4] docs/about/removed-features: Move removal " Markus Armbruster
2025-05-27 7:45 ` [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
4 siblings, 1 reply; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 6:37 UTC (permalink / raw)
To: qemu-devel; +Cc: devel
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
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 4/4] docs/about/removed-features: Move removal notes to tidy up order
2025-05-21 6:37 [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
` (2 preceding siblings ...)
2025-05-21 6:37 ` [PATCH 3/4] docs/about/deprecated: Move deprecation notes to tidy up order Markus Armbruster
@ 2025-05-21 6:37 ` Markus Armbruster
2025-05-27 15:05 ` Eric Blake
2025-05-27 7:45 ` [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
4 siblings, 1 reply; 18+ messages in thread
From: Markus Armbruster @ 2025-05-21 6:37 UTC (permalink / raw)
To: qemu-devel; +Cc: devel
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
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 4/4] docs/about/removed-features: Move removal notes to tidy up order
2025-05-21 6:37 ` [PATCH 4/4] docs/about/removed-features: Move removal " Markus Armbruster
@ 2025-05-27 15:05 ` Eric Blake
0 siblings, 0 replies; 18+ messages in thread
From: Eric Blake @ 2025-05-27 15:05 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, devel
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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup
2025-05-21 6:37 [PATCH 0/4] An overdue deprecation, a doc fix, a bit of cleanup Markus Armbruster
` (3 preceding siblings ...)
2025-05-21 6:37 ` [PATCH 4/4] docs/about/removed-features: Move removal " Markus Armbruster
@ 2025-05-27 7:45 ` Markus Armbruster
4 siblings, 0 replies; 18+ messages in thread
From: Markus Armbruster @ 2025-05-27 7:45 UTC (permalink / raw)
To: qemu-devel; +Cc: devel
Queued.
^ permalink raw reply [flat|nested] 18+ messages in thread