1. 20 Jun, 2016 2 commits
  2. 18 May, 2016 1 commit
  3. 31 Mar, 2016 1 commit
  4. 22 Mar, 2016 2 commits
  5. 01 Mar, 2016 1 commit
  6. 23 Feb, 2016 1 commit
  7. 04 Feb, 2016 1 commit
    • Peter Maydell's avatar
      all: Clean up includes · d38ea87a
      Peter Maydell authored
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-16-git-send-email-peter.maydell@linaro.org
      d38ea87a
  8. 03 Feb, 2016 7 commits
  9. 07 Jan, 2016 2 commits
    • Stefan Hajnoczi's avatar
      trace: add make dependencies on tracetool source · cef517ca
      Stefan Hajnoczi authored
      Patches that change tracetool can break the build if old build output
      files are lying around.
      
      This happens because the Makefile does not specify dependencies on
      tracetool.  The build will use old object files that do not match the
      current source code.
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      cef517ca
    • Stefan Hajnoczi's avatar
      trace: fix make foo-timestamp rules · 9967e4fe
      Stefan Hajnoczi authored
      The Makefile uses intermediate timestamp files to avoid rebuilding if
      tracetool output is unchanged.
      
      Timestamps are implemented incorrectly.  This was fixed for rules.mak in
      commit 4b25966a ("rules.mak: cleanup
      config generation rules") but never fixed in trace/Makefile.objs.
      
      The problem with the old timestamp implementation was that make doesn't
      notice the updated file modification time until the next time it is run.
      It was necessary to run make twice in a row to achieve a full rebuild.
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      9967e4fe
  10. 30 Nov, 2015 1 commit
    • Stefan Weil's avatar
      trace/simple: Fix warning and wrong trace file name for MinGW · 857a0e38
      Stefan Weil authored
      On Windows, getpid() always returns an int value, but pid_t (which is
      expected by the format string) is either a 32 bit or a 64 bit value.
      
      Without a type cast (or a modified format string), the compiler prints
      a warning when building for 64 bit Windows and the resulting trace_file_name
      will include a wrong pid:
      
      trace/simple.c:332:9: warning:
       format ‘%lld’ expects argument of type ‘long long int’,
       but argument 2 has type ‘int’ [-Wformat=]
      Signed-off-by: 's avatarStefan Weil <sw@weilnetz.de>
      857a0e38
  11. 10 Mar, 2015 1 commit
  12. 26 Sep, 2014 2 commits
  13. 09 Sep, 2014 1 commit
  14. 12 Aug, 2014 4 commits
  15. 10 Jun, 2014 1 commit
    • Michael Tokarev's avatar
      glib-compat.h: add new thread API emulation on top of pre-2.31 API · 86946a2d
      Michael Tokarev authored
      Thread API changed in glib-2.31 significantly.  Before that version,
      conditionals and mutexes were only allocated dynamically, using
      _new()/_free() interface.  in 2.31 and up, they're allocated statically
      as regular variables, and old interface is deprecated.
      
      (Note: glib docs says the new interface is available since version
      2.32, but it was actually introduced in version 2.31).
      
      Create the new interface using old primitives, by providing non-opaque
      definitions of the base types (GCond and GMutex) using GOnces.
      
      Replace #ifdeffery around GCond and GMutex in trace/simple.c and
      coroutine-gthread.c too because it does not work anymore with the new
      glib-compat.h.
      Signed-off-by: 's avatarMichael Tokarev <mjt@tls.msk.ru>
      Reviewed-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      [Use GOnce to support lazy initialization; introduce CompatGMutex
       and CompatGCond.  - Paolo]
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      86946a2d
  16. 09 Jun, 2014 4 commits
  17. 07 May, 2014 2 commits
  18. 25 Mar, 2014 1 commit
    • Stefan Hajnoczi's avatar
      osdep: initialize glib threads in all QEMU tools · ae2990c2
      Stefan Hajnoczi authored
      glib versions prior to 2.31.0 require an explicit g_thread_init() call
      to enable multi-threading.
      
      Failure to initialize threading causes glib to take single-threaded code
      paths without synchronization.  For example, the g_slice allocator will
      crash due to race conditions.
      
      Fix this for all QEMU tool programs (qemu-nbd, qemu-io, qemu-img) by
      moving the g_thread_init() call from vl.c:main() into a new
      osdep.c:thread_init() constructor function.
      
      thread_init() has __attribute__((constructor)) and is automatically
      invoked by the runtime during startup.
      
      We can now drop the "simple" trace backend's g_thread_init() call since
      thread_init() already called it.
      
      Note that we must keep coroutine-gthread.c's g_thread_init() call which
      is located in a constructor function.  There is no guarantee for
      constructor function ordering so thread_init() may only be called later.
      Reported-by: 's avatarMario de Chenno <mario.dechenno@unina2.it>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      ae2990c2
  19. 12 Mar, 2014 1 commit
  20. 19 Feb, 2014 1 commit
  21. 27 Jan, 2014 2 commits
  22. 03 May, 2013 1 commit
    • Eiichi Tsukata's avatar
      trace: Add ftrace tracing backend · 781e9545
      Eiichi Tsukata authored
      This patch adds a ftrace tracing backend which sends trace event to
      ftrace marker file. You can effectively compare qemu trace data and
      kernel(especially, kvm.ko when using KVM) trace data.
      The ftrace backend is restricted to Linux only.
      
      To try out the ftrace backend:
      
       $ ./configure --trace-backend=ftrace
       $ make
      
      if you use KVM, enable kvm events in ftrace:
      
       # sudo echo 1 > /sys/kernel/debug/tracing/events/kvm/enable
      
      After running qemu by root user, you can get the trace:
      
       # cat /sys/kernel/debug/tracing/trace
      Signed-off-by: 's avatarEiichi Tsukata <eiichi.tsukata.xh@hitachi.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      781e9545