Skip to content
Snippets Groups Projects
  1. Oct 17, 2020
  2. Oct 15, 2020
  3. Oct 14, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/ui-20201014-pull-request' into staging · 57c98ea9
      Peter Maydell authored
      
      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: default avatarPeter Maydell <peter.maydell@linaro.org>
      57c98ea9
    • Samuel Thibault's avatar
      ui: Fix default window_id value · 41d004d8
      Samuel Thibault authored
      
      ./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: f29b3431 ("console: move window ID code from baum to sdl")
      Signed-off-by: default avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20200914100637.eeommoflirxrgaeh@function>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      41d004d8
    • Colin Xu's avatar
      input-linux: Reset il->fd handler before closing it · 33d72145
      Colin Xu authored
      
      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: default avatarColin Xu <colin.xu@intel.com>
      Reviewed-by: default avatarLi Qiang <liq3ea@gmail.com>
      Message-id: 20200925021808.26471-1-colin.xu@intel.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      33d72145
    • Jan Henrik Weinstock's avatar
      SDL: enable OpenGL context creation · 67c6f1db
      Jan Henrik Weinstock authored
      
      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: default avatarJan Henrik Weinstock <jan.weinstock@rwth-aachen.de>
      Message-id: b2ba98b3-2975-0d4d-1c56-f659923c714d@rwth-aachen.de
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      67c6f1db
    • Jason Andryuk's avatar
      vnc-stubs: Allow -vnc none · db88404a
      Jason Andryuk authored
      
      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: default avatarJason Andryuk <jandryuk@gmail.com>
      Message-id: 20201009014032.3507-1-jandryuk@gmail.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      db88404a
    • Yonggang Luo's avatar
      configure: Fixes ncursesw detection under msys2/mingw by convert them to meson · 5285e593
      Yonggang Luo authored
      
      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: default avatarYonggang Luo <luoyonggang@gmail.com>
      Reviewed-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 20201012234348.1427-6-luoyonggang@gmail.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      5285e593
    • Yonggang Luo's avatar
      win32: Simplify gmtime_r detection not depends on if _POSIX_C_SOURCE are defined on msys2/mingw · 7c3afc85
      Yonggang Luo authored
      
      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: default avatarYonggang Luo <luoyonggang@gmail.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-id: 20201012234348.1427-5-luoyonggang@gmail.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      7c3afc85
    • Yonggang Luo's avatar
      curses: Fixes curses compiling errors. · 65f52797
      Yonggang Luo authored
      
      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: default avatarYonggang Luo <luoyonggang@gmail.com>
      Reviewed-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-id: 20201012234348.1427-4-luoyonggang@gmail.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      65f52797
    • Yonggang Luo's avatar
      curses: Fixes compiler error that complain don't have langinfo.h on msys2/mingw · 80d3ab61
      Yonggang Luo authored
      
      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: default avatarYonggang Luo <luoyonggang@gmail.com>
      Reviewed-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20201012234348.1427-3-luoyonggang@gmail.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      80d3ab61
    • Gerd Hoffmann's avatar
      qemu-edid: drop cast · c7146542
      Gerd Hoffmann authored
      
      Not needed and makes some compilers error out with:
      
      qemu-edid.c:15:1: error: initializer element is not constant
      
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-id: 20201013091615.14166-1-kraxel@redhat.com
      c7146542
  4. Oct 13, 2020
Loading