qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 079eed: rng-egd: Register "chardev" as class


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 079eed: rng-egd: Register "chardev" as class property
Date: Fri, 16 Oct 2020 15:32:10 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 079eed2e77559582aceece5830b124be1f261922
      
https://github.com/qemu/qemu/commit/079eed2e77559582aceece5830b124be1f261922
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M backends/rng-egd.c

  Log Message:
  -----------
  rng-egd: Register "chardev" as class property

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200921221045.699690-4-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: a3d3ee6c1357749013aa700c929682f41475b158
      
https://github.com/qemu/qemu/commit/a3d3ee6c1357749013aa700c929682f41475b158
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M backends/rng-random.c

  Log Message:
  -----------
  rng-random: register "filename" as class property

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200921221045.699690-5-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 29ee2a183205062f8b5b5b317e7fe392e9f57e64
      
https://github.com/qemu/qemu/commit/29ee2a183205062f8b5b5b317e7fe392e9f57e64
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M backends/rng.c

  Log Message:
  -----------
  rng: Register "opened" as class property

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200921221045.699690-8-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 7da4e3bb111b4c8fae2ff037f1e1f7934ac8ad50
      
https://github.com/qemu/qemu/commit/7da4e3bb111b4c8fae2ff037f1e1f7934ac8ad50
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M ui/input-linux.c

  Log Message:
  -----------
  input-linux: Register properties as class properties

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200921221045.699690-10-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: d85855b8942d2fdf773e0278facb40855014ff18
      
https://github.com/qemu/qemu/commit/d85855b8942d2fdf773e0278facb40855014ff18
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M ui/input-barrier.c

  Log Message:
  -----------
  input-barrier: Register properties as class properties

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200921221045.699690-11-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 3e0dceaf9450ffb65114bd12c62c499c1116f163
      
https://github.com/qemu/qemu/commit/3e0dceaf9450ffb65114bd12c62c499c1116f163
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Register most CPU properties as class properties

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200921221045.699690-14-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 5949703709e79b779a403d8a5622c1989c86db1c
      
https://github.com/qemu/qemu/commit/5949703709e79b779a403d8a5622c1989c86db1c
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M hw/display/vga-pci.c

  Log Message:
  -----------
  vga-pci: Register "big-endian-framebuffer" as class property

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20200921221045.699690-22-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: abb9369805fe1ebd4eb2d278555c8e06ef099b15
      
https://github.com/qemu/qemu/commit/abb9369805fe1ebd4eb2d278555c8e06ef099b15
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M backends/vhost-user.c

  Log Message:
  -----------
  vhost-user: Register "chardev" as class property

Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20200921221045.699690-6-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 14b394853606ab79f1d71f3bbbb4ccaab6538c8f
      
https://github.com/qemu/qemu/commit/14b394853606ab79f1d71f3bbbb4ccaab6538c8f
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M authz/listfile.c

  Log Message:
  -----------
  authz-list-file: Fix crash when filename is not set

Fix the following crash:

  $ qemu-system-x86_64 -object authz-list-file,id=obj0
  qemu-system-x86_64: -object authz-list-file,id=obj0: GLib: 
g_file_get_contents: assertion 'filename != NULL' failed
  Segmentation fault (core dumped)

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <20201008202713.1416823-2-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: d9753cca6b0db724bc6d15e60cfad1705f800b96
      
https://github.com/qemu/qemu/commit/d9753cca6b0db724bc6d15e60cfad1705f800b96
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-13 (Tue, 13 Oct 2020)

  Changed paths:
    M net/can/can_socketcan.c

  Log Message:
  -----------
  can-host-socketcan: Fix crash when 'if' option is not set

Fix the following crash:

  $ qemu-system-x86_64 -object can-host-socketcan,id=obj0
  Segmentation fault (core dumped)

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Message-Id: <20201008202713.1416823-3-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: c7146542b18a07672cf1d322b4c7500786b56275
      
https://github.com/qemu/qemu/commit/c7146542b18a07672cf1d322b4c7500786b56275
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M qemu-edid.c

  Log Message:
  -----------
  qemu-edid: drop cast

Not needed and makes some compilers error out with:

qemu-edid.c:15:1: error: initializer element is not constant

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20201013091615.14166-1-kraxel@redhat.com


  Commit: 80d3ab61ad1d60e02717b8fa5fec86d8d0d9520f
      
https://github.com/qemu/qemu/commit/80d3ab61ad1d60e02717b8fa5fec86d8d0d9520f
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M configure
    M ui/curses.c

  Log Message:
  -----------
  curses: Fixes compiler error that complain don't have langinfo.h on 
msys2/mingw

msys2/mingw lacks the POSIX-required langinfo.h.

gcc test.c -DNCURSES_WIDECHAR -I/mingw64/include/ncursesw -pipe -lncursesw 
-lgnurx -ltre -lintl -liconv
test.c:4:10: fatal error: langinfo.h: No such file or directory
    4 | #include <langinfo.h>
      |          ^~~~~~~~~~~~
compilation terminated.

So we using g_get_codeset instead of nl_langinfo(CODESET)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201012234348.1427-3-luoyonggang@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 65f5279761e20a1754dce450ca111382ff3b1e5c
      
https://github.com/qemu/qemu/commit/65f5279761e20a1754dce450ca111382ff3b1e5c
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M ui/curses.c

  Log Message:
  -----------
  curses: Fixes curses compiling errors.

This is the compiling error:
../ui/curses.c: In function 'curses_refresh':
../ui/curses.c:256:5: error: 'next_maybe_keycode' may be used uninitialized in 
this function [-Werror=maybe-uninitialized]
  256 |     curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
      |     ^~~~~~~~~~
../ui/curses.c:302:32: note: 'next_maybe_keycode' was declared here
  302 |             enum maybe_keycode next_maybe_keycode;
      |                                ^~~~~~~~~~~~~~~~~~
../ui/curses.c:256:5: error: 'maybe_keycode' may be used uninitialized in this 
function [-Werror=maybe-uninitialized]
  256 |     curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
      |     ^~~~~~~~~~
../ui/curses.c:265:24: note: 'maybe_keycode' was declared here
  265 |     enum maybe_keycode maybe_keycode;
      |                        ^~~~~~~~~~~~~
cc1.exe: all warnings being treated as errors

gcc version 10.2.0 (Rev1, Built by MSYS2 project)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20201012234348.1427-4-luoyonggang@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 7c3afc8570b7278f9a435e359effd22bc2287d96
      
https://github.com/qemu/qemu/commit/7c3afc8570b7278f9a435e359effd22bc2287d96
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M configure
    M include/sysemu/os-win32.h
    M util/oslib-win32.c

  Log Message:
  -----------
  win32: Simplify gmtime_r detection not depends on if _POSIX_C_SOURCE are 
defined on msys2/mingw

We remove the CONFIG_LOCALTIME_R detection option in configure, and move the 
check
existence of gmtime_r from configure into C header and source directly by using 
macro
`_POSIX_THREAD_SAFE_FUNCTIONS`.
Before this patch, the configure script are always assume the compiler doesn't 
define
_POSIX_C_SOURCE macro at all, but that's not true, because thirdparty library 
such
as ncursesw may define -D_POSIX_C_SOURCE in it's pkg-config file. And that C 
Flags will
added -D_POSIX_C_SOURCE into each QEMU_CFLAGS. And that's causing the following 
compiling error:
n file included from C:/work/xemu/qemu/include/qemu/osdep.h:119,
                 from ../softmmu/main.c:25:
C:/work/xemu/qemu/include/sysemu/os-win32.h:53:12: error: redundant 
redeclaration of 'gmtime_r' [-Werror=redundant-decls]
   53 | struct tm *gmtime_r(const time_t *timep, struct tm *result);
      |            ^~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:94,
                 from ../softmmu/main.c:25:
C:/CI-Tools/msys64/mingw64/x86_64-w64-mingw32/include/time.h:284:36: note: 
previous definition of 'gmtime_r' was here
  284 | __forceinline struct tm *__CRTDECL gmtime_r(const time_t *_Time, struct 
tm *_Tm) {
      |                                    ^~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:119,
                 from ../softmmu/main.c:25:
C:/work/xemu/qemu/include/sysemu/os-win32.h:55:12: error: redundant 
redeclaration of 'localtime_r' [-Werror=redundant-decls]
   55 | struct tm *localtime_r(const time_t *timep, struct tm *result);
      |            ^~~~~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:94,
                 from ../softmmu/main.c:25:
C:/CI-Tools/msys64/mingw64/x86_64-w64-mingw32/include/time.h:281:36: note: 
previous definition of 'localtime_r' was here
  281 | __forceinline struct tm *__CRTDECL localtime_r(const time_t *_Time, 
struct tm *_Tm) {
      |                                    ^~~~~~~~~~~
Compiling C object libcommon.fa.p/hw_gpio_zaurus.c.obj
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:119,
                 from ../hw/i2c/smbus_slave.c:16:
C:/work/xemu/qemu/include/sysemu/os-win32.h:53:12: error: redundant 
redeclaration of 'gmtime_r' [-Werror=redundant-decls]
   53 | struct tm *gmtime_r(const time_t *timep, struct tm *result);
      |            ^~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:94,
                 from ../hw/i2c/smbus_slave.c:16:
C:/CI-Tools/msys64/mingw64/x86_64-w64-mingw32/include/time.h:284:36: note: 
previous definition of 'gmtime_r' was here
  284 | __forceinline struct tm *__CRTDECL gmtime_r(const time_t *_Time, struct 
tm *_Tm) {
      |                                    ^~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:119,
                 from ../hw/i2c/smbus_slave.c:16:
C:/work/xemu/qemu/include/sysemu/os-win32.h:55:12: error: redundant 
redeclaration of 'localtime_r' [-Werror=redundant-decls]
   55 | struct tm *localtime_r(const time_t *timep, struct tm *result);
      |            ^~~~~~~~~~~
In file included from C:/work/xemu/qemu/include/qemu/osdep.h:94,
                 from ../hw/i2c/smbus_slave.c:16:
C:/CI-Tools/msys64/mingw64/x86_64-w64-mingw32/include/time.h:281:36: note: 
previous definition of 'localtime_r' was here
  281 | __forceinline struct tm *__CRTDECL localtime_r(const time_t *_Time, 
struct tm *_Tm) {
      |                                    ^~~~~~~~~~~
Compiling C object libcommon.fa.p/hw_dma_xilinx_axidma.c.obj

After this patch, whenever ncursesw or other thirdparty libraries tried to 
define or not
define  _POSIX_C_SOURCE, the source will building properly. Because now, we 
don't make any
assumption if _POSIX_C_SOURCE are defined. We solely relied on if the macro 
`_POSIX_THREAD_SAFE_FUNCTIONS`
are defined in msys2/mingw header.

The _POSIX_THREAD_SAFE_FUNCTIONS are defined in mingw header like this:

```
#if defined(_POSIX_C_SOURCE) && !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
#endif

#ifdef _POSIX_THREAD_SAFE_FUNCTIONS
__forceinline struct tm *__CRTDECL localtime_r(const time_t *_Time, struct tm 
*_Tm) {
  return localtime_s(_Tm, _Time) ? NULL : _Tm;
}
__forceinline struct tm *__CRTDECL gmtime_r(const time_t *_Time, struct tm 
*_Tm) {
  return gmtime_s(_Tm, _Time) ? NULL : _Tm;
}
__forceinline char *__CRTDECL ctime_r(const time_t *_Time, char *_Str) {
  return ctime_s(_Str, 0x7fffffff, _Time) ? NULL : _Str;
}
__forceinline char *__CRTDECL asctime_r(const struct tm *_Tm, char * _Str) {
  return asctime_s(_Str, 0x7fffffff, _Tm) ? NULL : _Str;
}
#endif
```

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20201012234348.1427-5-luoyonggang@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 5285e593c33d7893ed7489b71f0fae95baa19e0a
      
https://github.com/qemu/qemu/commit/5285e593c33d7893ed7489b71f0fae95baa19e0a
  Author: Yonggang Luo <luoyonggang@gmail.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M configure
    M meson.build
    M meson_options.txt
    M ui/meson.build

  Log Message:
  -----------
  configure: Fixes ncursesw detection under msys2/mingw by convert them to meson

The mingw pkg-config are showing following absolute path and contains : as the 
separator,

-D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L 
-IC:/CI-Tools/msys64/mingw64/include/ncursesw:-I/usr/include/ncursesw:
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -pipe 
-lncursesw -lgnurx -ltre -lintl -liconv
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lncursesw
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lcursesw
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -pipe -lncursesw 
-lgnurx -ltre -lintl -liconv
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lncursesw
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lcursesw
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -pipe -lncursesw -lgnurx -ltre 
-lintl -liconv
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -lncursesw
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -lcursesw

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201012234348.1427-6-luoyonggang@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: db88404a4e0f1cc1d2f26ed8187690088ba38a2b
      
https://github.com/qemu/qemu/commit/db88404a4e0f1cc1d2f26ed8187690088ba38a2b
  Author: Jason Andryuk <jandryuk@gmail.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M ui/vnc-stubs.c

  Log Message:
  -----------
  vnc-stubs: Allow -vnc none

Currently `-vnc none` is fatal when built with `--disable-vnc`.  Make
vnc_parse accept "none", so QEMU still run without using vnc.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Message-id: 20201009014032.3507-1-jandryuk@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 67c6f1dbb708f4cf0edc18d427f694654999b4b2
      
https://github.com/qemu/qemu/commit/67c6f1dbb708f4cf0edc18d427f694654999b4b2
  Author: Jan Henrik Weinstock <jan.weinstock@rwth-aachen.de>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M ui/sdl2.c

  Log Message:
  -----------
  SDL: enable OpenGL context creation

We need to specify SDL_WINDOW_OPENGL if we want to create an OpenGL context on 
it, i.e. when using '-device virtio-gpu-pci,virgl=on'

Signed-off-by: Jan Henrik Weinstock <jan.weinstock@rwth-aachen.de>
Message-id: b2ba98b3-2975-0d4d-1c56-f659923c714d@rwth-aachen.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 33d72145d783457973e29aed703b84f820763f47
      
https://github.com/qemu/qemu/commit/33d72145d783457973e29aed703b84f820763f47
  Author: Colin Xu <colin.xu@intel.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M ui/input-linux.c

  Log Message:
  -----------
  input-linux: Reset il->fd handler before closing it

If object-del input-linux object on-the-fly, instance finalize will
close evdev fd without resetting it. However the main thread is still
trying to lock_acquire/lock_release during ppoll, which leads to a very
high CPU utilization.

Signed-off-by: Colin Xu <colin.xu@intel.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-id: 20200925021808.26471-1-colin.xu@intel.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 41d004d8af59885da2c21460a73898b1aa09690f
      
https://github.com/qemu/qemu/commit/41d004d8af59885da2c21460a73898b1aa09690f
  Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui: Fix default window_id value

./chardev/baum.c expects the default window_id value to be -1, and not 0
which could be confused with a proper window id (when numbered from 0 by
the ui backend).

This fixes getting Braille output with the curses and gtk frontends.

Fixes: f29b3431f62 ("console: move window ID code from baum to sdl")
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200914100637.eeommoflirxrgaeh@function>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 57c98ea9acdcef5021f5671efa6475a5794a51c4
      
https://github.com/qemu/qemu/commit/57c98ea9acdcef5021f5671efa6475a5794a51c4
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M configure
    M include/sysemu/os-win32.h
    M meson.build
    M meson_options.txt
    M qemu-edid.c
    M ui/console.c
    M ui/curses.c
    M ui/input-linux.c
    M ui/meson.build
    M ui/sdl2.c
    M ui/vnc-stubs.c
    M util/oslib-win32.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20201014-pull-request' 
into staging

ui: fixes for sdl, curses, vnc, input-linux.

# gpg: Signature made Wed 14 Oct 2020 09:21:35 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ui-20201014-pull-request:
  ui: Fix default window_id value
  input-linux: Reset il->fd handler before closing it
  SDL: enable OpenGL context creation
  vnc-stubs: Allow -vnc none
  configure: Fixes ncursesw detection under msys2/mingw by convert them to meson
  win32: Simplify gmtime_r detection not depends on if _POSIX_C_SOURCE are 
defined on msys2/mingw
  curses: Fixes curses compiling errors.
  curses: Fixes compiler error that complain don't have langinfo.h on 
msys2/mingw
  qemu-edid: drop cast

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 217baac12db1c1a43fa643d95ffa665a4c4877ce
      
https://github.com/qemu/qemu/commit/217baac12db1c1a43fa643d95ffa665a4c4877ce
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: drop x86_cpu_get_supported_feature_word() forward declaration

We only use x86_cpu_get_supported_feature_word() after its implementation,
no forward declaration needed.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20200904145431.196885-3-vkuznets@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 1a7655d53d0f6984624f3868125774a34456ca27
      
https://github.com/qemu/qemu/commit/1a7655d53d0f6984624f3868125774a34456ca27
  Author: Zhenyu Wang <zhenyuw@linux.intel.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: fix FEATURE_HYPERV_EDX value in hyperv_passthrough case

Fix typo to use correct edx value for FEATURE_HYPERV_EDX when
hyperv_passthrough is enabled.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Message-Id: <20190820103030.12515-1-zhenyuw@linux.intel.com>
Fixes: e48ddcc6ce13 ("i386/kvm: implement 'hv-passthrough' mode")
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 35ac5dfbcaa4b31470b4e201d26143b8b9a0a1e7
      
https://github.com/qemu/qemu/commit/35ac5dfbcaa4b31470b4e201d26143b8b9a0a1e7
  Author: Babu Moger <babu.moger@amd.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Remove core_id assert check in CPUID 0x8000001E

With x2apic enabled, configurations can have more that 255 cores.
Noticed the device add test is hitting an assert when during cpu
hotplug with core_id > 255. This is due to assert check in the
CPUID 0x8000001E.

Remove the assert check and fix the problem.

Fixes the bug:
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1834200

Signed-off-by: Babu Moger <babu.moger@amd.com>
Message-Id: <160072824160.9666.8890355282135970684.stgit@naples-babu.amd.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 1a6dff5fa84118aace4d85d3544a9902ff01e0f3
      
https://github.com/qemu/qemu/commit/1a6dff5fa84118aace4d85d3544a9902ff01e0f3
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: Require KVM_CAP_IRQ_ROUTING

KVM_CAP_IRQ_ROUTING is available since 2009 (Linux v2.6.30), so
it's safe to just make it a requirement on x86.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200922201922.2153598-2-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 8981bae23eaca0fa48497c4cacde8f809fe998aa
      
https://github.com/qemu/qemu/commit/8981bae23eaca0fa48497c4cacde8f809fe998aa
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M hw/i386/kvm/apic.c
    M hw/i386/kvm/ioapic.c
    M target/i386/kvm.c

  Log Message:
  -----------
  i386/kvm: Remove IRQ routing support checks

KVM_CAP_IRQ_ROUTING is always available on x86, so replace checks
for kvm_has_gsi_routing() and KVM_CAP_IRQ_ROUTING with asserts.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200922201922.2153598-3-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: eafa08683fa648ad18e0b57118afa27b6b9c7329
      
https://github.com/qemu/qemu/commit/eafa08683fa648ad18e0b57118afa27b6b9c7329
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M hw/i386/fw_cfg.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M target/i386/kvm-stub.c
    M target/i386/kvm.c
    M target/i386/kvm_i386.h

  Log Message:
  -----------
  i386/kvm: Delete kvm_allows_irq0_override()

As IRQ routing is always available on x86,
kvm_allows_irq0_override() will always return true, so we don't
need the function anymore.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200922201922.2153598-4-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 31c707fb4d693068d3f0ab8aa7a1e07ddce5cdca
      
https://github.com/qemu/qemu/commit/31c707fb4d693068d3f0ab8aa7a1e07ddce5cdca
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M include/sysemu/kvm.h

  Log Message:
  -----------
  kvm: Correct documentation of kvm_irqchip_*()

When split irqchip support was introduced, the meaning of
kvm_irqchip_in_kernel() changed: now it only means the LAPIC is
in kernel.  The PIC, IOAPIC, and PIT might be in userspace if
irqchip=split was set.  Update the doc comment to reflect that.

While at it, remove the "the user asked us" part in
kvm_irqchip_is_split() doc comment.  That macro has nothing to do
with existence of explicit user-provided options.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200922203612.2178370-1-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 61ad65d0f01d928b259effb57e2a356f3e3dac03
      
https://github.com/qemu/qemu/commit/61ad65d0f01d928b259effb57e2a356f3e3dac03
  Author: Robert Hoo <robert.hu@linux.intel.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M hw/core/machine.c
    M include/hw/core/cpu.h
    M qapi/machine-target.json
    M target/i386/cpu.c

  Log Message:
  -----------
  cpu: Introduce CPU model deprecation API

Implement the ability of marking some versions deprecated. When
that CPU model is chosen, print a warning.  The warning message
can be customized, e.g. suggesting an alternative CPU model to be
used instead.

The deprecation message will be printed by x86_cpu_list_entry(),
e.g. '-cpu help'.

QMP command 'query-cpu-definitions' will return a bool value
indicating the deprecation status.

Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
Message-Id: <1600758855-80046-1-git-send-email-robert.hu@linux.intel.com>
[ehabkost: reword commit message]
[ehabkost: Handle NULL cpu_type]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 3e6a015cbd0f61c19cdc02d5ce74a3e60235cb9a
      
https://github.com/qemu/qemu/commit/3e6a015cbd0f61c19cdc02d5ce74a3e60235cb9a
  Author: Robert Hoo <robert.hu@linux.intel.com>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M docs/system/deprecated.rst
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Mark Icelake-Client CPU models deprecated

Icelake-Client CPU models will be removed in the future.

Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
Message-Id: <1600758855-80046-2-git-send-email-robert.hu@linux.intel.com>
[ehabkost: reword deprecation note, fix version in doc]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


  Commit: 51f22c195b644d6ec0a175c2a3790495e1993d9d
      
https://github.com/qemu/qemu/commit/51f22c195b644d6ec0a175c2a3790495e1993d9d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M tests/tcg/multiarch/linux-test.c

  Log Message:
  -----------
  tests/tcg/linux-test: Adjust getsockname for musl

Unlike glibc, musl does not use transparent unions to hide
the different structures that overlap struct sockaddr.

Add an explicit cast to work around this.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4fa3876ebb98889f076152f70b885234ff237ec1
      
https://github.com/qemu/qemu/commit/4fa3876ebb98889f076152f70b885234ff237ec1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M linux-user/microblaze/signal.c

  Log Message:
  -----------
  linux-user/microblaze: Implement rt signal frames

Allows microblaze to pass tests/tcg/multiarch/linux-test.c.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 49e258df83e2200847cd4b331f48d8d872fba51c
      
https://github.com/qemu/qemu/commit/49e258df83e2200847cd4b331f48d8d872fba51c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
    M linux-user/microblaze/signal.c
    M linux-user/microblaze/target_signal.h

  Log Message:
  -----------
  linux-user/microblaze: Remove non-rt signal frames

The microblaze kernel does not support these, and uses
only rt style signal frames.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 501093207eb1ed4845e0a65ee1ce7db7b9676e0b
      
https://github.com/qemu/qemu/commit/501093207eb1ed4845e0a65ee1ce7db7b9676e0b
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M include/qemu/module.h
    M softmmu/qtest.c
    M util/module.c

  Log Message:
  -----------
  module: silence errors for module_load_qom_all().

Add mayfail bool parameter to module loading functions.  Set it to true
for module_load_qom_all() because device modules might not load into all
system emulation variants.  qemu-system-s390x for example will not load
qxl because it lacks vga support.  Makes "make check" less chatty.

Drop module_loaded_qom_all check in module_load_qom_one to make sure we
see errors for explicit load requests, i.e. module_load_qom_one("qxl")
failing will log an error no matter whenever module_load_qom_all() was
called before or not.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20200923091217.22662-1-kraxel@redhat.com


  Commit: f88908cf3014bb028fc5ad33e32aa3065f0c2715
      
https://github.com/qemu/qemu/commit/f88908cf3014bb028fc5ad33e32aa3065f0c2715
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M util/module.c

  Log Message:
  -----------
  modules: update qom object module comment

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20200923103728.12026-1-kraxel@redhat.com


  Commit: e220cf866267fbca3dae16f68ec01b67a4beb805
      
https://github.com/qemu/qemu/commit/e220cf866267fbca3dae16f68ec01b67a4beb805
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M ui/spice-app.c

  Log Message:
  -----------
  ui/spice-app: don't use qemu_chr_open_spice_port directly

Save the parent object's open function pointer in the (new)
VCChardevClass struct instead before overwriting it, so we
can look it up when needed.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201014121120.13482-3-kraxel@redhat.com


  Commit: 70122d62302c97bcd205956a544b8e79f2a4a50f
      
https://github.com/qemu/qemu/commit/70122d62302c97bcd205956a544b8e79f2a4a50f
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M chardev/spice.c
    M include/chardev/spice.h

  Log Message:
  -----------
  chardev/spice: make qemu_chr_open_spice_port static

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201014121120.13482-4-kraxel@redhat.com


  Commit: 93ab5844b2cd5367966d7b5bae154e0d3303b504
      
https://github.com/qemu/qemu/commit/93ab5844b2cd5367966d7b5bae154e0d3303b504
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M chardev/spice.c
    M include/chardev/spice.h
    M include/ui/qemu-spice.h
    M softmmu/vl.c
    M ui/spice-app.c
    M ui/spice-core.c

  Log Message:
  -----------
  chardev/spice: simplify chardev setup

Initialize spice before chardevs.  That allows to register the spice
chardevs directly in the init function and removes the need to maintain
a linked list of chardevs just for registration.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201014121120.13482-5-kraxel@redhat.com


  Commit: d72c34cccc5955eeeb393b174fd6a0794b6d823f
      
https://github.com/qemu/qemu/commit/d72c34cccc5955eeeb393b174fd6a0794b6d823f
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M audio/meson.build
    M meson.build
    M monitor/meson.build

  Log Message:
  -----------
  meson: add spice_headers dependency.

Used for files which (with CONFIG_SPICE=y) depend on spice header files
to pick up some enum, but which do not depend on on the actual spice
shared library.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201014121120.13482-6-kraxel@redhat.com


  Commit: fa264418acff6507b666b7dc987c4a731f84d710
      
https://github.com/qemu/qemu/commit/fa264418acff6507b666b7dc987c4a731f84d710
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  meson: add spice dependency to core spice source files.

Right now it happens to work by pure luck because the spice chardevs
add the spice dependency to the softmmu source set.  That'll change
though once we start building spice chardevs as module, so lets fix
it properly.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20201014121120.13482-7-kraxel@redhat.com


  Commit: 23ebeaae4eb09a0d92dc7f22b41e5dd08485c390
      
https://github.com/qemu/qemu/commit/23ebeaae4eb09a0d92dc7f22b41e5dd08485c390
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M chardev/meson.build
    M util/module.c

  Log Message:
  -----------
  chardev/spice: build spice chardevs as module

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20201014121120.13482-8-kraxel@redhat.com


  Commit: fec3331894a8a433d1a58ec2c929743bbf449cb1
      
https://github.com/qemu/qemu/commit/fec3331894a8a433d1a58ec2c929743bbf449cb1
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M util/keyval.c

  Log Message:
  -----------
  keyval: Fix and clarify grammar

The grammar has a few issues:

* key-fragment = / [^=,.]* /

  Prose restricts key fragments: they "must be valid QAPI names or
  consist only of decimal digits".  Technically, '' consists only of
  decimal digits.  The code rejects that.  Fix the grammar.

* val          = { / [^,]* / | ',,' }

  Use + instead of *.  Accepts the same language.

* val-no-key   = / [^=,]* /

  The code rejects an empty value.  Fix the grammar.

* Section "Additional syntax for use with an implied key" is
  confusing.  Rewrite it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-2-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: ce40cbf11d215dc3f820bf32937f7e44aab4a1e3
      
https://github.com/qemu/qemu/commit/ce40cbf11d215dc3f820bf32937f7e44aab4a1e3
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M tests/test-keyval.c

  Log Message:
  -----------
  test-keyval: Demonstrate misparse of ',' with implied key

Add a test for "val,,ue" with implied key.  Documentation says this
should parse as implied key with value "val", then fail.  The code
parses it as implied key with value "val,ue", then succeeds.  The next
commit will fix it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-3-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 7051ae6cf1ec1072d2cdaa978660b22245a1efad
      
https://github.com/qemu/qemu/commit/7051ae6cf1ec1072d2cdaa978660b22245a1efad
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M tests/test-keyval.c
    M util/keyval.c

  Log Message:
  -----------
  keyval: Fix parsing of ',' in value of implied key

The previous commit demonstrated documentation and code disagree on
parsing of ',' in the value of an implied key.  Fix the code to match
the documentation.

This breaks uses of keyval_parse() that pass an implied key and accept
a value containing ','.  None of the existing uses does:

* audiodev: implied key "driver" is enum AudiodevDriver, none of the
  values contains ','

* display: implied key "type" is enum DisplayType, none of the values
  contains ','

* blockdev: implied key "driver is enum BlockdevDriver, none of the
  values contains ','

* export: implied key "type" is enum BlockExportType, none of the
  values contains ','

* monitor: implied key "mode" is enum MonitorMode, none of the values
  contains ','

* nbd-server: no implied key.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-4-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 8bf12c4f752b439eb37e3de8a063af32e986c730
      
https://github.com/qemu/qemu/commit/8bf12c4f752b439eb37e3de8a063af32e986c730
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M include/qemu/help_option.h
    M include/qemu/option.h
    M qapi/qobject-input-visitor.c
    M storage-daemon/qemu-storage-daemon.c
    M tests/test-keyval.c
    M util/keyval.c

  Log Message:
  -----------
  keyval: Parse help options

This adds a special meaning for 'help' and '?' as options to the keyval
parser. Instead of being an error (because of a missing value) or a
value for an implied key, they now request help, which is a new boolean
output of the parser in addition to the QDict.

A new parameter 'p_help' is added to keyval_parse() that contains on
return whether help was requested. If NULL is passed, requesting help
results in an error and all other cases work like before.

Turning previous error cases into help is a compatible extension. The
behaviour potentially changes for implied keys: They could previously
get 'help' as their value, which is now interpreted as requesting help.

This is not a problem in practice because 'help' and '?' are not a valid
values for the implied key of any option parsed with keyval_parse():

* audiodev: union Audiodev, implied key "driver" is enum AudiodevDriver,
  "help" and "?" are not among its values

* display: union DisplayOptions, implied key "type" is enum
  DisplayType, "help" and "?" are not among its values

* blockdev: union BlockdevOptions, implied key "driver is enum
  BlockdevDriver, "help" and "?" are not among its values

* export: union BlockExport, implied key "type" is enum BlockExportType,
  "help" and "?" are not among its values

* monitor: struct MonitorOptions, implied key "mode" is enum MonitorMode,
  "help" and "?" are not among its values

* nbd-server: struct NbdServerOptions, no implied key.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201011073505.1185335-5-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 0e301d44271b370ed0d46c2e85c2a5bda041c57c
      
https://github.com/qemu/qemu/commit/0e301d44271b370ed0d46c2e85c2a5bda041c57c
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M qom/object_interfaces.c

  Log Message:
  -----------
  qom: Factor out helpers from user_creatable_print_help()

This creates separate helper functions for printing a list of user
creatable object types and for printing a list of properties of a given
type. This will allow using these parts without having a QemuOpts.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201007164903.282198-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: c9ac1458430e4794adc8f0418d263befc3917886
      
https://github.com/qemu/qemu/commit/c9ac1458430e4794adc8f0418d263befc3917886
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M include/qom/object_interfaces.h
    M qom/object_interfaces.c

  Log Message:
  -----------
  qom: Add user_creatable_print_help_from_qdict()

This adds a function that, given a QDict of non-help options, prints
help for user creatable objects.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201007164903.282198-4-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 8db1efd3f30749d471a60e56dabc131c03e73282
      
https://github.com/qemu/qemu/commit/8db1efd3f30749d471a60e56dabc131c03e73282
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M storage-daemon/qemu-storage-daemon.c

  Log Message:
  -----------
  qemu-storage-daemon: Remove QemuOpts from --object parser

The command line parser for --object parses the input twice: Once into
QemuOpts just for detecting help options, and then again into a QDict
using the keyval parser for actually creating the object.

Now that the keyval parser can also detect help options, we can simplify
this and remove the QemuOpts part.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201007164903.282198-5-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 357bda9590784ff75803d52de43150d4107ed98e
      
https://github.com/qemu/qemu/commit/357bda9590784ff75803d52de43150d4107ed98e
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M monitor/monitor.c

  Log Message:
  -----------
  monitor: Fix order in monitor_cleanup()

We can only destroy Monitor objects after we're sure that they are not
in use by the dispatcher coroutine any more. This fixes crashes like the
following where we tried to destroy a monitor mutex while the dispatcher
coroutine still holds it:

 (gdb) bt
 #0  0x00007fe541cf4bc5 in raise () at /lib64/libc.so.6
 #1  0x00007fe541cdd8a4 in abort () at /lib64/libc.so.6
 #2  0x000055c24e965327 in error_exit (err=16, msg=0x55c24eead3a0 <__func__.33> 
"qemu_mutex_destroy") at ../util/qemu-thread-posix.c:37
 #3  0x000055c24e9654c3 in qemu_mutex_destroy (mutex=0x55c25133e0f0) at 
../util/qemu-thread-posix.c:70
 #4  0x000055c24e7cfaf1 in monitor_data_destroy_qmp (mon=0x55c25133dfd0) at 
../monitor/qmp.c:439
 #5  0x000055c24e7d23bc in monitor_data_destroy (mon=0x55c25133dfd0) at 
../monitor/monitor.c:615
 #6  0x000055c24e7d253a in monitor_cleanup () at ../monitor/monitor.c:644
 #7  0x000055c24e6cb002 in qemu_cleanup () at ../softmmu/vl.c:4549
 #8  0x000055c24e0d259b in main (argc=24, argv=0x7ffff66b0d58, 
envp=0x7ffff66b0e20) at ../softmmu/main.c:51

Reported-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201013125027.41003-1-kwolf@redhat.com>
Tested-by: Ben Widawsky <ben.widawsky@intel.com>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 5737eea24f7377d752cdc9475e80266a7e9a5416
      
https://github.com/qemu/qemu/commit/5737eea24f7377d752cdc9475e80266a7e9a5416
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  block: drop moderated sheepdog mailing list from MAINTAINERS file

The sheepdog mailing list is setup to stop and queue messages from
non-subscribers, pending moderator approval. Unfortunately it seems
that the moderation queue is not actively dealt with. Even when messages
are approved, the sender is never added to the whitelist, so every
future mail from the same sender continues to get stopped for moderation.

MAINTAINERS entries should be responsive and not unneccessarily block
mails from QEMU contributors, so drop the sheepdog mailing list.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201002113243.2347710-2-berrange@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: e1c4269763999e3b359fff19ad170e0110d3b457
      
https://github.com/qemu/qemu/commit/e1c4269763999e3b359fff19ad170e0110d3b457
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M block/sheepdog.c
    M configure
    M docs/system/deprecated.rst

  Log Message:
  -----------
  block: deprecate the sheepdog block driver

This thread from a little over a year ago:

  http://lists.wpkg.org/pipermail/sheepdog/2019-March/thread.html

states that sheepdog is no longer actively developed. The only mentioned
users are some companies who are said to have it for legacy reasons with
plans to replace it by Ceph. There is talk about cutting out existing
features to turn it into a simple demo of how to write a distributed
block service. There is no evidence of anyone working on that idea:

  https://github.com/sheepdog/sheepdog/commits/master

No real commits to git since Jan 2018, and before then just some minor
technical debt cleanup.

There is essentially no activity on the mailing list aside from
patches to QEMU that get CC'd due to our MAINTAINERS entry.

Fedora packages for sheepdog failed to build from upstream source
because of the more strict linker that no longer merges duplicate
global symbols. Fedora patches it to add the missing "extern"
annotations and presumably other distros do to, but upstream source
remains broken.

There is only basic compile testing, no functional testing of the
driver.

Since there are no build pre-requisites the sheepdog driver is currently
enabled unconditionally. This would result in configure issuing a
deprecation warning by default for all users. Thus the configure default
is changed to disable it, requiring users to pass --enable-sheepdog to
build the driver.

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20201002113243.2347710-3-berrange@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: e545512b5e26f1e69fcd4c88df3c12853946dcdb
      
https://github.com/qemu/qemu/commit/e545512b5e26f1e69fcd4c88df3c12853946dcdb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M authz/listfile.c
    M backends/rng-egd.c
    M backends/rng-random.c
    M backends/rng.c
    M backends/vhost-user.c
    M hw/display/vga-pci.c
    M net/can/can_socketcan.c
    M target/i386/cpu.c
    M ui/input-barrier.c
    M ui/input-linux.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/ehabkost/tags/machine-next-pull-request' into staging

machine + QOM queue, 2020-10-14

* Register some properties as class properties (Eduardo Habkost)
* authz-list-file: Fix crash when filename is not set (Eduardo Habkost)
* can-host-socketcan: Fix crash when 'if' option is not set (Eduardo Habkost)

# gpg: Signature made Wed 14 Oct 2020 15:33:17 BST
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "ehabkost@redhat.com"
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-next-pull-request:
  can-host-socketcan: Fix crash when 'if' option is not set
  authz-list-file: Fix crash when filename is not set
  vhost-user: Register "chardev" as class property
  vga-pci: Register "big-endian-framebuffer" as class property
  i386: Register most CPU properties as class properties
  input-barrier: Register properties as class properties
  input-linux: Register properties as class properties
  rng: Register "opened" as class property
  rng-random: register "filename" as class property
  rng-egd: Register "chardev" as class property

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 3e40748834923798aa57e3751db13a069e2c617b
      
https://github.com/qemu/qemu/commit/3e40748834923798aa57e3751db13a069e2c617b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M linux-user/microblaze/signal.c
    M linux-user/microblaze/target_signal.h
    M tests/tcg/multiarch/linux-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-mb-20201014' into staging

Implement rt signal frames for microblaze-linux-user
Adjust linux-user test for musl

# gpg: Signature made Thu 15 Oct 2020 05:50:00 BST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-mb-20201014:
  linux-user/microblaze: Remove non-rt signal frames
  linux-user/microblaze: Implement rt signal frames
  tests/tcg/linux-test: Adjust getsockname for musl

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6214addcc6b6bf6b444934833144bab10cbe6a1a
      
https://github.com/qemu/qemu/commit/6214addcc6b6bf6b444934833144bab10cbe6a1a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-15 (Thu, 15 Oct 2020)

  Changed paths:
    M audio/meson.build
    M chardev/meson.build
    M chardev/spice.c
    M include/chardev/spice.h
    M include/qemu/module.h
    M include/ui/qemu-spice.h
    M meson.build
    M monitor/meson.build
    M softmmu/qtest.c
    M softmmu/vl.c
    M ui/meson.build
    M ui/spice-app.c
    M ui/spice-core.c
    M util/module.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/modules-20201015-pull-request' into staging

modules: misc fixes & tweaks.
modules: build spice chardevs as module.

# gpg: Signature made Thu 15 Oct 2020 13:53:03 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/modules-20201015-pull-request:
  chardev/spice: build spice chardevs as module
  meson: add spice dependency to core spice source files.
  meson: add spice_headers dependency.
  chardev/spice: simplify chardev setup
  chardev/spice: make qemu_chr_open_spice_port static
  ui/spice-app: don't use qemu_chr_open_spice_port directly
  modules: update qom object module comment
  module: silence errors for module_load_qom_all().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7daf8f8d011cdd5d3e86930ed2bde969425c790c
      
https://github.com/qemu/qemu/commit/7daf8f8d011cdd5d3e86930ed2bde969425c790c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-16 (Fri, 16 Oct 2020)

  Changed paths:
    M MAINTAINERS
    M block/sheepdog.c
    M configure
    M docs/system/deprecated.rst
    M include/qemu/help_option.h
    M include/qemu/option.h
    M include/qom/object_interfaces.h
    M monitor/monitor.c
    M qapi/qobject-input-visitor.c
    M qom/object_interfaces.c
    M storage-daemon/qemu-storage-daemon.c
    M tests/test-keyval.c
    M util/keyval.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- qemu-storage-daemon: Remove QemuOpts from --object parser
- monitor: Fix order in monitor_cleanup()
- Deprecate the sheepdog block driver

# gpg: Signature made Thu 15 Oct 2020 15:48:10 BST
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  block: deprecate the sheepdog block driver
  block: drop moderated sheepdog mailing list from MAINTAINERS file
  monitor: Fix order in monitor_cleanup()
  qemu-storage-daemon: Remove QemuOpts from --object parser
  qom: Add user_creatable_print_help_from_qdict()
  qom: Factor out helpers from user_creatable_print_help()
  keyval: Parse help options
  keyval: Fix parsing of ',' in value of implied key
  test-keyval: Demonstrate misparse of ',' with implied key
  keyval: Fix and clarify grammar

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: e12ce85b2c79d83a340953291912875c30b3af06
      
https://github.com/qemu/qemu/commit/e12ce85b2c79d83a340953291912875c30b3af06
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-10-16 (Fri, 16 Oct 2020)

  Changed paths:
    M docs/system/deprecated.rst
    M hw/core/machine.c
    M hw/i386/fw_cfg.c
    M hw/i386/kvm/apic.c
    M hw/i386/kvm/ioapic.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M include/hw/core/cpu.h
    M include/sysemu/kvm.h
    M qapi/machine-target.json
    M target/i386/cpu.c
    M target/i386/kvm-stub.c
    M target/i386/kvm.c
    M target/i386/kvm_i386.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ehabkost/tags/x86-next-pull-request' 
into staging

x86 queue, 2020-10-15

Cleanups:
* Drop x86_cpu_get_supported_feature_word() forward declaration
  (Vitaly Kuznetsov)
* Delete kvm_allows_irq0_override() (Eduardo Habkost)
* Correct documentation of kvm_irqchip_*() (Eduardo Habkost)
* Fix FEATURE_HYPERV_EDX value in hyperv_passthrough case (Zhenyu Wang)

Deprecation:
* CPU model deprecation API (Robert Hoo)
* Mark Icelake-Client CPU models deprecated (Robert Hoo)

Bug fixes:
* Remove core_id assert check in CPUID 0x8000001E (Babu Moger)

# gpg: Signature made Thu 15 Oct 2020 17:43:58 BST
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "ehabkost@redhat.com"
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/x86-next-pull-request:
  i386: Mark Icelake-Client CPU models deprecated
  cpu: Introduce CPU model deprecation API
  kvm: Correct documentation of kvm_irqchip_*()
  i386/kvm: Delete kvm_allows_irq0_override()
  i386/kvm: Remove IRQ routing support checks
  i386/kvm: Require KVM_CAP_IRQ_ROUTING
  target/i386: Remove core_id assert check in CPUID 0x8000001E
  i386/kvm: fix FEATURE_HYPERV_EDX value in hyperv_passthrough case
  i386: drop x86_cpu_get_supported_feature_word() forward declaration

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/96292515c07e...e12ce85b2c79



reply via email to

[Prev in Thread] Current Thread [Next in Thread]