1. 06 3月, 2018 3 次提交
  2. 05 3月, 2018 6 次提交
  3. 03 3月, 2018 1 次提交
  4. 02 3月, 2018 1 次提交
  5. 23 2月, 2018 1 次提交
  6. 19 2月, 2018 1 次提交
  7. 13 2月, 2018 2 次提交
  8. 10 2月, 2018 2 次提交
  9. 09 2月, 2018 2 次提交
  10. 08 2月, 2018 1 次提交
  11. 07 2月, 2018 3 次提交
  12. 06 2月, 2018 2 次提交
  13. 31 1月, 2018 1 次提交
  14. 25 1月, 2018 1 次提交
  15. 22 1月, 2018 1 次提交
  16. 12 1月, 2018 3 次提交
    • D
      ui: deprecate use of GTK 2.x in favour of 3.x series · b7715af2
      Daniel P. Berrange 提交于
      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: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20171212113440.16483-1-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      b7715af2
    • M
      build-sys: compile with -Og or -O1 when --enable-debug · 90654868
      Marc-André Lureau 提交于
      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: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180104160523.22995-5-marcandre.lureau@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      90654868
    • M
      build-sys: fix qemu-ga -pthread linking · 14ab3aa7
      Marc-André Lureau 提交于
      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: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-Id: <20180104160523.22995-2-marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      14ab3aa7
  17. 11 1月, 2018 1 次提交
  18. 09 1月, 2018 1 次提交
  19. 22 12月, 2017 1 次提交
    • S
      i386: hvf: add code base from Google's QEMU repository · c97d6d2c
      Sergio Andres Gomez Del Real 提交于
      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: NSergio 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: NPaolo Bonzini <pbonzini@redhat.com>
      c97d6d2c
  20. 21 12月, 2017 2 次提交
    • Y
      rcu: reduce more than 7MB heap memory by malloc_trim() · 5a22ab71
      Yang Zhong 提交于
      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: NYang Zhong <yang.zhong@intel.com>
      Message-Id: <1513775806-19779-1-git-send-email-yang.zhong@intel.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      5a22ab71
    • P
      memfd: fix configure test · 75e5b70e
      Paolo Bonzini 提交于
      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: NPaolo Bonzini <pbonzini@redhat.com>
      75e5b70e
  21. 18 12月, 2017 1 次提交
    • D
      configure: check $CC available before verifying host CPU · 9aae6e54
      Daniel Henrique Barboza 提交于
      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: NDaniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      9aae6e54
  22. 24 11月, 2017 1 次提交
  23. 09 11月, 2017 1 次提交
  24. 06 11月, 2017 1 次提交
    • D
      build: allow automatic git submodule updates to be disabled · f62bbee5
      Daniel P. Berrange 提交于
      Some people building QEMU use VPATH builds where the source directory is on a
      read-only volume. In such a case 'scripts/git-submodules.sh update' will always
      fail and users are required to run it manually themselves on their original
      writable source directory.
      
      While this is already supported, it is nice to give users a command line flag
      to configure to permanently disable automatic submodule updates, as it means
      they won't get hard to diagnose failures from git-submodules.sh at an arbitrary
      later date.
      
      This patch thus introduces a flag '--disable-git-update' which will prevent
      'make' from ever running 'scripts/git-submodules.sh update'. It will still run
      the 'status' command to determine if a submodule update is needed, but when it
      does this it'll simply stop and print a message instructing the developer what
      todo. eg
      
      $ ./configure  --target-list=x86_64-softmmu --disable-git-update
      ...snip...
      
      $ make
        GEN     config-host.h
        GEN     trace/generated-tcg-tracers.h
        GEN     trace/generated-helpers-wrappers.h
        GEN     trace/generated-helpers.h
        GEN     trace/generated-helpers.c
        GEN     module_block.h
      
      GIT submodule checkout is out of date. Please run
        scripts/git-submodule.sh update ui/keycodemapdb
      from the source directory checkout /home/berrange/src/virt/qemu
      
      make: *** [Makefile:31: git-submodule-update] Error 1
      Tested-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      f62bbee5