Skip to content
Snippets Groups Projects
  1. Jan 12, 2021
  2. Jan 07, 2021
  3. Dec 15, 2020
  4. Dec 10, 2020
  5. Nov 15, 2020
  6. Oct 27, 2020
  7. Oct 24, 2020
  8. Oct 14, 2020
    • Eduardo Habkost's avatar
      kvm: Correct documentation of kvm_irqchip_*() · 31c707fb
      Eduardo Habkost authored
      
      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: default avatarEduardo Habkost <ehabkost@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <20200922203612.2178370-1-ehabkost@redhat.com>
      Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      31c707fb
    • 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
  9. Oct 06, 2020
  10. Oct 05, 2020
Loading