[PATCH] qemu-options: Remove the deprecated -no-quit option

Thomas Huth posted 1 patch 2 years, 4 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
docs/about/deprecated.rst       | 6 ------
docs/about/removed-features.rst | 7 +++++++
qemu-options.hx                 | 8 --------
softmmu/vl.c                    | 8 +-------
4 files changed, 8 insertions(+), 21 deletions(-)
[PATCH] qemu-options: Remove the deprecated -no-quit option
Posted by Thomas Huth 2 years, 4 months ago
This option was just a wrapper around the -display ...,window-close=off
parameter, and the name "no-quit" is rather confusing compared to
"window-close" (since there are still other means to quit the emulator),
so let's remove this now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst       | 6 ------
 docs/about/removed-features.rst | 7 +++++++
 qemu-options.hx                 | 8 --------
 softmmu/vl.c                    | 8 +-------
 4 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 7f12f53713..6f85afdee4 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -134,12 +134,6 @@ specified.
 Use ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
 an underscore between "window" and "close").
 
-``-no-quit`` (since 6.1)
-''''''''''''''''''''''''
-
-The ``-no-quit`` is a synonym for ``-display ...,window-close=off`` which
-should be used instead.
-
 ``-alt-grab`` and ``-display sdl,alt_grab=on`` (since 6.2)
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index f92b8bd738..380a1b30ea 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -330,6 +330,13 @@ 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)
+'''''''''''''''''''''''''''''
+
+The ``-no-quit`` was a synonym for ``-display ...,window-close=off`` which
+should be used instead.
+
+
 QEMU Machine Protocol (QMP) commands
 ------------------------------------
 
diff --git a/qemu-options.hx b/qemu-options.hx
index ae2c6dbbfc..e2b73f6e5d 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2002,14 +2002,6 @@ SRST
     ``-display sdl,grab-mod=rctrl`` instead.
 ERST
 
-DEF("no-quit", 0, QEMU_OPTION_no_quit,
-    "-no-quit        disable SDL/GTK window close capability (deprecated)\n", QEMU_ARCH_ALL)
-SRST
-``-no-quit``
-    Disable window close capability (SDL and GTK only). This option is
-    deprecated, please use ``-display ...,window-close=off`` instead.
-ERST
-
 DEF("sdl", 0, QEMU_OPTION_sdl,
     "-sdl            shorthand for -display sdl\n", QEMU_ARCH_ALL)
 SRST
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 620a1f1367..163ab355f5 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1938,7 +1938,7 @@ static void qemu_create_early_backends(void)
                      "for SDL, ignoring option");
     }
     if (dpy.has_window_close && !use_gtk && !use_sdl) {
-        error_report("-no-quit is only valid for GTK and SDL, "
+        error_report("window-close is only valid for GTK and SDL, "
                      "ignoring option");
     }
 
@@ -3298,12 +3298,6 @@ void qemu_init(int argc, char **argv, char **envp)
                 warn_report("-ctrl-grab is deprecated, please use "
                             "-display sdl,grab-mod=rctrl instead.");
                 break;
-            case QEMU_OPTION_no_quit:
-                dpy.has_window_close = true;
-                dpy.window_close = false;
-                warn_report("-no-quit is deprecated, please use "
-                            "-display ...,window-close=off instead.");
-                break;
             case QEMU_OPTION_sdl:
                 warn_report("-sdl is deprecated, use -display sdl instead.");
 #ifdef CONFIG_SDL
-- 
2.27.0

Re: [PATCH] qemu-options: Remove the deprecated -no-quit option
Posted by Michal Prívozník 2 years, 4 months ago
On 12/15/21 09:24, Thomas Huth wrote:
> This option was just a wrapper around the -display ...,window-close=off
> parameter, and the name "no-quit" is rather confusing compared to
> "window-close" (since there are still other means to quit the emulator),
> so let's remove this now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst       | 6 ------
>  docs/about/removed-features.rst | 7 +++++++
>  qemu-options.hx                 | 8 --------
>  softmmu/vl.c                    | 8 +-------
>  4 files changed, 8 insertions(+), 21 deletions(-)

Libvirt has never used it. So from my POV: ACK.

Michal

Re: [PATCH] qemu-options: Remove the deprecated -no-quit option
Posted by Markus Armbruster 2 years, 4 months ago
Thomas Huth <thuth@redhat.com> writes:

> This option was just a wrapper around the -display ...,window-close=off
> parameter, and the name "no-quit" is rather confusing compared to
> "window-close" (since there are still other means to quit the emulator),
> so let's remove this now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst       | 6 ------
>  docs/about/removed-features.rst | 7 +++++++
>  qemu-options.hx                 | 8 --------
>  softmmu/vl.c                    | 8 +-------
>  4 files changed, 8 insertions(+), 21 deletions(-)
>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 7f12f53713..6f85afdee4 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -134,12 +134,6 @@ specified.
>  Use ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
>  an underscore between "window" and "close").
>  
> -``-no-quit`` (since 6.1)
> -''''''''''''''''''''''''
> -
> -The ``-no-quit`` is a synonym for ``-display ...,window-close=off`` which
> -should be used instead.
> -
>  ``-alt-grab`` and ``-display sdl,alt_grab=on`` (since 6.2)
>  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>  
> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
> index f92b8bd738..380a1b30ea 100644
> --- a/docs/about/removed-features.rst
> +++ b/docs/about/removed-features.rst
> @@ -330,6 +330,13 @@ 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)
> +'''''''''''''''''''''''''''''
> +
> +The ``-no-quit`` was a synonym for ``-display ...,window-close=off`` which
> +should be used instead.
> +
> +
>  QEMU Machine Protocol (QMP) commands
>  ------------------------------------
>  
> diff --git a/qemu-options.hx b/qemu-options.hx
> index ae2c6dbbfc..e2b73f6e5d 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -2002,14 +2002,6 @@ SRST
>      ``-display sdl,grab-mod=rctrl`` instead.
>  ERST
>  
> -DEF("no-quit", 0, QEMU_OPTION_no_quit,
> -    "-no-quit        disable SDL/GTK window close capability (deprecated)\n", QEMU_ARCH_ALL)
> -SRST
> -``-no-quit``
> -    Disable window close capability (SDL and GTK only). This option is
> -    deprecated, please use ``-display ...,window-close=off`` instead.
> -ERST
> -
>  DEF("sdl", 0, QEMU_OPTION_sdl,
>      "-sdl            shorthand for -display sdl\n", QEMU_ARCH_ALL)
>  SRST
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 620a1f1367..163ab355f5 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -1938,7 +1938,7 @@ static void qemu_create_early_backends(void)
>                       "for SDL, ignoring option");
>      }
>      if (dpy.has_window_close && !use_gtk && !use_sdl) {
> -        error_report("-no-quit is only valid for GTK and SDL, "
> +        error_report("window-close is only valid for GTK and SDL, "
>                       "ignoring option");
>      }
>  

Bonus: the error message in now in terms of the non-deprecated
interface.  Suggest to mention this in the commit message.

Sadly, it lacks context:

    qemu-system-x86_64: window-close is only valid for GTK and SDL, ignoring option

If we check in parse_display() instead, we should be able to get
something like

    qemu-system-x86_64: -display none,window-close=off: window-close is only valid for GTK and SDL, ignoring option

Funny: we get a different error with VNC:

    qemu-system-x86_64: -display vnc=:0,window-close=off: Invalid parameter 'window-close'

That's because parse_display() uses separate parsers for SDL, VNC and
the rest, and only SDL and the rest accept window-close.

Finally, why isn't this an error?  Invalid configuration should be...

If we decide not to error out in this case, we should use warn_report()
instead of error_report().

All this can be addressed on top.

> @@ -3298,12 +3298,6 @@ void qemu_init(int argc, char **argv, char **envp)
>                  warn_report("-ctrl-grab is deprecated, please use "
>                              "-display sdl,grab-mod=rctrl instead.");
>                  break;
> -            case QEMU_OPTION_no_quit:
> -                dpy.has_window_close = true;
> -                dpy.window_close = false;
> -                warn_report("-no-quit is deprecated, please use "
> -                            "-display ...,window-close=off instead.");
> -                break;
>              case QEMU_OPTION_sdl:
>                  warn_report("-sdl is deprecated, use -display sdl instead.");
>  #ifdef CONFIG_SDL

Reviewed-by: Markus Armbruster <armbru@redhat.com>

Re: [PATCH] qemu-options: Remove the deprecated -no-quit option
Posted by Thomas Huth 2 years, 4 months ago
On 15/12/2021 10.11, Markus Armbruster wrote:
> Thomas Huth <thuth@redhat.com> writes:
> 
>> This option was just a wrapper around the -display ...,window-close=off
>> parameter, and the name "no-quit" is rather confusing compared to
>> "window-close" (since there are still other means to quit the emulator),
>> so let's remove this now.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   docs/about/deprecated.rst       | 6 ------
>>   docs/about/removed-features.rst | 7 +++++++
>>   qemu-options.hx                 | 8 --------
>>   softmmu/vl.c                    | 8 +-------
>>   4 files changed, 8 insertions(+), 21 deletions(-)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index 7f12f53713..6f85afdee4 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -134,12 +134,6 @@ specified.
>>   Use ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
>>   an underscore between "window" and "close").
>>   
>> -``-no-quit`` (since 6.1)
>> -''''''''''''''''''''''''
>> -
>> -The ``-no-quit`` is a synonym for ``-display ...,window-close=off`` which
>> -should be used instead.
>> -
>>   ``-alt-grab`` and ``-display sdl,alt_grab=on`` (since 6.2)
>>   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>   
>> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
>> index f92b8bd738..380a1b30ea 100644
>> --- a/docs/about/removed-features.rst
>> +++ b/docs/about/removed-features.rst
>> @@ -330,6 +330,13 @@ 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)
>> +'''''''''''''''''''''''''''''
>> +
>> +The ``-no-quit`` was a synonym for ``-display ...,window-close=off`` which
>> +should be used instead.
>> +
>> +
>>   QEMU Machine Protocol (QMP) commands
>>   ------------------------------------
>>   
>> diff --git a/qemu-options.hx b/qemu-options.hx
>> index ae2c6dbbfc..e2b73f6e5d 100644
>> --- a/qemu-options.hx
>> +++ b/qemu-options.hx
>> @@ -2002,14 +2002,6 @@ SRST
>>       ``-display sdl,grab-mod=rctrl`` instead.
>>   ERST
>>   
>> -DEF("no-quit", 0, QEMU_OPTION_no_quit,
>> -    "-no-quit        disable SDL/GTK window close capability (deprecated)\n", QEMU_ARCH_ALL)
>> -SRST
>> -``-no-quit``
>> -    Disable window close capability (SDL and GTK only). This option is
>> -    deprecated, please use ``-display ...,window-close=off`` instead.
>> -ERST
>> -
>>   DEF("sdl", 0, QEMU_OPTION_sdl,
>>       "-sdl            shorthand for -display sdl\n", QEMU_ARCH_ALL)
>>   SRST
>> diff --git a/softmmu/vl.c b/softmmu/vl.c
>> index 620a1f1367..163ab355f5 100644
>> --- a/softmmu/vl.c
>> +++ b/softmmu/vl.c
>> @@ -1938,7 +1938,7 @@ static void qemu_create_early_backends(void)
>>                        "for SDL, ignoring option");
>>       }
>>       if (dpy.has_window_close && !use_gtk && !use_sdl) {
>> -        error_report("-no-quit is only valid for GTK and SDL, "
>> +        error_report("window-close is only valid for GTK and SDL, "
>>                        "ignoring option");
>>       }
>>   
> 
> Bonus: the error message in now in terms of the non-deprecated
> interface.  Suggest to mention this in the commit message.
> 
> Sadly, it lacks context:
> 
>      qemu-system-x86_64: window-close is only valid for GTK and SDL, ignoring option
> 
> If we check in parse_display() instead, we should be able to get
> something like
> 
>      qemu-system-x86_64: -display none,window-close=off: window-close is only valid for GTK and SDL, ignoring option
> 
> Funny: we get a different error with VNC:
> 
>      qemu-system-x86_64: -display vnc=:0,window-close=off: Invalid parameter 'window-close'
> 
> That's because parse_display() uses separate parsers for SDL, VNC and
> the rest, and only SDL and the rest accept window-close.
> 
> Finally, why isn't this an error?  Invalid configuration should be...
> 
> If we decide not to error out in this case, we should use warn_report()
> instead of error_report().
> 
> All this can be addressed on top.

I'm planning to get this mess cleaned up in QEMU 7.1 - once the ugly SDL 
parameters with the underscore can finally be removed after their 
deprecation period is over. Then we can switch the SDL display to proper 
QAPI parsing and remove all the legacy cruft there.

  Thomas