Skip to content
Snippets Groups Projects
  1. Mar 06, 2018
  2. Mar 05, 2018
  3. Mar 02, 2018
  4. Mar 01, 2018
  5. Feb 23, 2018
  6. Feb 19, 2018
  7. Feb 13, 2018
  8. Feb 10, 2018
  9. Feb 09, 2018
  10. Feb 08, 2018
  11. Feb 07, 2018
  12. Feb 05, 2018
  13. Jan 31, 2018
  14. Jan 25, 2018
  15. Jan 22, 2018
  16. Jan 12, 2018
    • Daniel P. Berrangé's avatar
      ui: deprecate use of GTK 2.x in favour of 3.x series · b7715af2
      Daniel P. Berrangé authored
      The GTK 3.0 release was made in Feb, 2011:
      
        https://blog.gtk.org/2011/02/10/gtk-3-0-released/
      
      
      
      That will soon be 7 years ago, which is enough time to consider
      the 3.x series widely supported.
      
      Thus we deprecate the GTK 2.x support, which will allow us to
      delete it in the last release of 2018. By this time, GTK 3.x
      will be almost 8 years old.
      
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20171212113440.16483-1-berrange@redhat.com
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      b7715af2
    • Marc-André Lureau's avatar
      build-sys: compile with -Og or -O1 when --enable-debug · 90654868
      Marc-André Lureau authored
      When --enable-debug is turned on, configure doesn't set -O level, and
      uses default compiler -O0 level, which is slow.
      
      Instead, use -Og if supported by the compiler (optimize debugging
      experience), or -O1 (keeps code somewhat debuggable and works around
      compiler bugs).
      
      Unfortunately, gcc has many false-positive maybe-uninitialized
      errors with Og and O1 (f27 gcc 7.2.1 20170915):
      
      /home/elmarco/src/qemu/hw/ipmi/isa_ipmi_kcs.c: In function ‘ipmi_kcs_ioport_read’:
      /home/elmarco/src/qemu/hw/ipmi/isa_ipmi_kcs.c:279:12: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
           return ret;
                  ^~~
      cc1: all warnings being treated as errors
      make: *** [/home/elmarco/src/qemu/rules.mak:66: hw/ipmi/isa_ipmi_kcs.o] Error 1
      make: *** Waiting for unfinished jobs....
      /home/elmarco/src/qemu/hw/ide/ahci.c: In function ‘ahci_populate_sglist’:
      /home/elmarco/src/qemu/hw/ide/ahci.c:903:58: error: ‘tbl_entry_size’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
               if ((off_idx == -1) || (off_pos < 0) || (off_pos > tbl_entry_size)) {
                                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
      make: *** [/home/elmarco/src/qemu/rules.mak:66: hw/ide/ahci.o] Error 1
      /home/elmarco/src/qemu/hw/display/qxl.c: In function ‘qxl_add_memslot’:
      /home/elmarco/src/qemu/hw/display/qxl.c:1397:52: error: ‘pci_start’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
           memslot.virt_end   = virt_start + (guest_end   - pci_start);
                                             ~~~~~~~~~~~~~^~~~~~~~~~~~
      /home/elmarco/src/qemu/hw/display/qxl.c:1389:9: error: ‘pci_region’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
               qxl_set_guest_bug(d, "%s: pci_region = %d", __func__, pci_region);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
      
      There seems to be a long list of related bugs in upstream GCC, some of
      them are being fixed very recently:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
      
      
      
      For now, let's workaround it by using Wno-maybe-uninitialized (gcc-only).
      
      Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180104160523.22995-5-marcandre.lureau@redhat.com>
      Tested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      90654868
    • Marc-André Lureau's avatar
      build-sys: fix qemu-ga -pthread linking · 14ab3aa7
      Marc-André Lureau authored
      
      When linking qemu-ga under some configuration (when gthread-2.0.pc
      doesn't have -pthread, as happening atm with meson build), you may
      have this linking issue:
      
      /usr/bin/ld: libqemuutil.a(qemu-thread-posix.o): undefined reference to symbol 'pthread_setname_np@@GLIBC_2.12'
      /usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
      
      Make sure qemu-ga links with the pthread library, by adding correct
      flags to libs_qga.
      
      This is really a QEMU bug, because it's QEMU code that's using pthread
      functions, and so we must explicitly link against pthreads. The bug
      was just masked by the fact that often some pkg-config or another for
      one of our dependencies will add -pthread to the link line anyway.
      
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-Id: <20180104160523.22995-2-marcandre.lureau@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      14ab3aa7
  17. Jan 11, 2018
  18. Jan 08, 2018
  19. Dec 22, 2017
    • Sergio Andres Gomez Del Real's avatar
      i386: hvf: add code base from Google's QEMU repository · c97d6d2c
      Sergio Andres Gomez Del Real authored
      This file begins tracking the files that will be the code base for HVF
      support in QEMU. This code base is part of Google's QEMU version of
      their Android emulator, and can be found at
      https://android.googlesource.com/platform/external/qemu/+/emu-master-dev
      
      This code is based on Veertu Inc's vdhh (Veertu Desktop Hosted
      Hypervisor), found at https://github.com/veertuinc/vdhh
      
      . Everything is
      appropriately licensed under GPL v2-or-later, except for the code inside
      x86_task.c and x86_task.h, which, deriving from KVM (the Linux kernel),
      is licensed GPL v2-only.
      
      This code base already implements a very great deal of functionality,
      although Google's version removed from Vertuu's the support for APIC
      page and hyperv-related stuff. According to the Android Emulator Release
      Notes, Revision 26.1.3 (August 2017), "Hypervisor.framework is now
      enabled by default on macOS for 32-bit x86 images to improve performance
      and macOS compatibility", although we better use with caution for, as the
      same Revision warns us, "If you experience issues with it specifically,
      please file a bug report...". The code hasn't seen much update in the
      last 5 months, so I think that we can further develop the code with
      occasional visiting Google's repository to see if there has been any
      update.
      
      On top of Google's code, the following changes were made:
      
      - add code to the configure script to support the --enable-hvf argument.
      If the OS is Darwin, it checks for presence of HVF in the system. The
      patch also adds strings related to HVF in the file qemu-options.hx.
      QEMU will only support the modern syntax style '-M accel=hvf' no enable
      hvf; the legacy '-enable-hvf' will not be supported.
      
      - fix styling issues
      
      - add glue code to cpus.c
      
      - move HVFX86EmulatorState field to CPUX86State, changing the
      the emulation functions to have a parameter with signature 'CPUX86State *'
      instead of 'CPUState *' so we don't have to get the 'env'.
      
      Signed-off-by: default avatarSergio Andres Gomez Del Real <Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-2-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-3-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-5-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-6-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170905035457.3753-7-Sergio.G.DelReal@gmail.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c97d6d2c
  20. Dec 21, 2017
    • Yang Zhong's avatar
      rcu: reduce more than 7MB heap memory by malloc_trim() · 5a22ab71
      Yang Zhong authored
      
      Since there are some issues in memory alloc/free machenism
      in glibc for little chunk memory, if Qemu frequently
      alloc/free little chunk memory, the glibc doesn't alloc
      little chunk memory from free list of glibc and still
      allocate from OS, which make the heap size bigger and bigger.
      
      This patch introduce malloc_trim(), which will free heap
      memory when there is no rcu call during rcu thread loop.
      malloc_trim() can be enabled/disabled by --enable-malloc-trim/
      --disable-malloc-trim in the Qemu configure command. The
      default malloc_trim() is enabled for libc.
      
      Below are test results from smaps file.
      (1)without patch
      55f0783e1000-55f07992a000 rw-p 00000000 00:00 0  [heap]
      Size:              21796 kB
      Rss:               14260 kB
      Pss:               14260 kB
      
      (2)with patch
      55cc5fadf000-55cc61008000 rw-p 00000000 00:00 0  [heap]
      Size:              21668 kB
      Rss:                6940 kB
      Pss:                6940 kB
      
      Signed-off-by: default avatarYang Zhong <yang.zhong@intel.com>
      Message-Id: <1513775806-19779-1-git-send-email-yang.zhong@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      5a22ab71
  21. Dec 20, 2017
    • Paolo Bonzini's avatar
      memfd: fix configure test · 75e5b70e
      Paolo Bonzini authored
      
      Recent glibc added memfd_create in sys/mman.h.  This conflicts with
      the definition in util/memfd.c:
      
          /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration
      
      Fix the configure test, and remove the sys/memfd.h inclusion since the
      file actually does not exist---it is a typo in the memfd_create(2) man
      page.
      
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      75e5b70e
  22. Dec 18, 2017
    • Daniel Henrique Barboza's avatar
      configure: check $CC available before verifying host CPU · 9aae6e54
      Daniel Henrique Barboza authored
      
      When executing 'configure' in a fresh QEMU clone, in a fresh
      OS install running in a ppc64le host, this is the error
      shown:
      
      -----
      
      ../configure --enable-trace-backend=simple --enable-debug
          --target-list=ppc64-softmmu
      
      ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter
      
      -----
      
      This isn't true, ppc64le host CPU is supported. This happens because,
      in a fresh install, we don't have a C compiler to autodetect
      the $cpu variable to "ppc64".
      
      This patch moves the CC available check up a bit, just before verifying
      the host CPU. This ensures that we bail out with a $CC not available
      error instead of unsupported CPU (the host CPU detection without
      the compiler wouldn't work properly anyway). It also allows --help to
      keep working without a C compiler. With this patch, in the same ppc64le
      host without gcc:
      
      $ ../configure --enable-trace-backend=simple --enable-debug
          --target-list=ppc64-softmmu
      
      ERROR: "cc" either does not exist or does not work
      
      $ ../configure --help
      
      Usage: configure [options]
      Options: [defaults in brackets after descriptions]
      
      Standard options:
        --help                   print this message
        --prefix=PREFIX          install in PREFIX [/usr/local]
        --interp-prefix=PREFIX   where to find shared libraries, etc.
      (...)
      
      Signed-off-by: default avatarDaniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      9aae6e54
  23. Nov 23, 2017
  24. Nov 09, 2017
Loading