Skip to content
Snippets Groups Projects
  1. Jun 12, 2019
    • Markus Armbruster's avatar
      Include qemu-common.h exactly where needed · a8d25326
      Markus Armbruster authored
      
      No header includes qemu-common.h after this commit, as prescribed by
      qemu-common.h's file comment.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20190523143508.25387-5-armbru@redhat.com>
      [Rebased with conflicts resolved automatically, except for
      include/hw/arm/xlnx-zynqmp.h hw/arm/nrf51_soc.c hw/arm/msf2-soc.c
      block/qcow2-refcount.c block/qcow2-cluster.c block/qcow2-cache.c
      target/arm/cpu.h target/lm32/cpu.h target/m68k/cpu.h target/mips/cpu.h
      target/moxie/cpu.h target/nios2/cpu.h target/openrisc/cpu.h
      target/riscv/cpu.h target/tilegx/cpu.h target/tricore/cpu.h
      target/unicore32/cpu.h target/xtensa/cpu.h; bsd-user/main.c and
      net/tap-bsd.c fixed up]
      a8d25326
  2. Nov 08, 2018
  3. Oct 19, 2018
  4. Oct 02, 2018
    • Pavel Dovgaluk's avatar
      replay: allow loading any snapshots before recording · bb3d7702
      Pavel Dovgaluk authored
      
      This patch enables using -loadvm in recording mode to allow starting
      the execution recording from any of the available snapshots.
      It also fixes loading of the record/replay state, therefore snapshots
      created in replay mode may also be used for starting the new recording.
      
      Signed-off-by: default avatarPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
      Message-Id: <20180912081939.3228.56131.stgit@pasha-VirtualBox>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      bb3d7702
    • Pavel Dovgaluk's avatar
      replay: flush events when exiting · d873fe03
      Pavel Dovgaluk authored
      
      This patch adds events processing when emulation finishes instead
      of just cleaning the queue. Now the bdrv coroutines will be in consistent
      state when emulator closes. It allows correct polling of the block layer
      at exit.
      
      Signed-off-by: default avatarPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
      Message-Id: <20180912081859.3228.79735.stgit@pasha-VirtualBox>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      d873fe03
    • Pavel Dovgaluk's avatar
      replay: wake up vCPU when replaying · 0c08185f
      Pavel Dovgaluk authored
      
      In record/replay icount mode vCPU thread and iothread synchronize
      the execution using the checkpoints.
      vCPU thread processes the virtual timers and iothread processes all others.
      When iothread wants to wake up sleeping vCPU thread, it sends dummy queued
      work. Therefore it could be the following sequence of the events in
      record mode:
       - IO: sending dummy work
       - IO: processing timers
       - CPU: wakeup
       - CPU: clearing dummy work
       - CPU: processing virtual timers
      
      But due to the races in replay mode the sequence may change:
       - IO: sending dummy work
       - CPU: wakeup
       - CPU: clearing dummy work
       - CPU: sleeping again because nothing to do
       - IO: Processing timers
       - CPU: zzzz
      
      In this case vCPU will not wake up, because dummy work is not to be set up
      again.
      
      This patch tries to wake up the vCPU when it sleeps and the icount warp
      checkpoint isn't met. It means that vCPU has something to do, because
      there are no other reasons of non-matching warp checkpoint.
      
      Signed-off-by: default avatarPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
      
      --
      
      v5: improve checking that vCPU is still sleeping
      Message-Id: <20180912081945.3228.19776.stgit@pasha-VirtualBox>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      0c08185f
  5. Sep 25, 2018
  6. Mar 12, 2018
  7. Mar 02, 2018
  8. Feb 09, 2018
  9. Sep 27, 2017
  10. Jun 02, 2017
  11. Jun 01, 2017
  12. May 23, 2017
    • Eric Blake's avatar
      shutdown: Add source information to SHUTDOWN and RESET · cf83f140
      Eric Blake authored
      
      Time to wire up all the call sites that request a shutdown or
      reset to use the enum added in the previous patch.
      
      It would have been less churn to keep the common case with no
      arguments as meaning guest-triggered, and only modified the
      host-triggered code paths, via a wrapper function, but then we'd
      still have to audit that I didn't miss any host-triggered spots;
      changing the signature forces us to double-check that I correctly
      categorized all callers.
      
      Since command line options can change whether a guest reset request
      causes an actual reset vs. a shutdown, it's easy to also add the
      information to reset requests.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Acked-by: David Gibson <david@gibson.dropbear.id.au> [ppc parts]
      Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [SPARC part]
      Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x parts]
      Message-Id: <20170515214114.15442-5-eblake@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      cf83f140
    • Eric Blake's avatar
      shutdown: Preserve shutdown cause through replay · 802f045a
      Eric Blake authored
      
      With the recent addition of ShutdownCause, we want to be able to pass
      a cause through any shutdown request, and then faithfully replay that
      cause when later replaying the same sequence.  The easiest way is to
      expand the reply event mechanism to track a series of values for
      EVENT_SHUTDOWN, one corresponding to each value of ShutdownCause.
      
      We are free to change the replay stream as needed, since there are
      already no guarantees about being able to use a replay stream by
      any other version of qemu than the one that generated it.
      
      The cause is not actually fed back until the next patch changes the
      signature for requesting a shutdown; a TODO marks that upcoming change.
      
      Yes, this uses the gcc/clang extension of a ranged case label,
      but this is not the first time we've used non-C99 constructs.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarPavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
      Message-Id: <20170515214114.15442-4-eblake@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      802f045a
  13. May 17, 2017
  14. May 04, 2017
  15. Apr 10, 2017
    • Alex Bennée's avatar
      replay: assert time only goes forward · 982263ce
      Alex Bennée authored
      
      If we find ourselves trying to add an event to the log where time has
      gone backwards it is because a vCPU event has occurred and the
      main-loop is not yet aware of time moving forward. This should not
      happen and if it does its better to fail early than generate a log
      that will have weird behaviour.
      
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      982263ce
  16. Mar 28, 2017
  17. Mar 14, 2017
  18. Mar 01, 2017
  19. Jan 27, 2017
  20. Jan 06, 2017
    • Pavel Dovgaluk's avatar
      record/replay: add network support · 646c5478
      Pavel Dovgaluk authored
      
      This patch adds support of recording and replaying network packets in
      irount rr mode.
      
      Record and replay for network interactions is performed with the network filter.
      Each backend must have its own instance of the replay filter as follows:
       -netdev user,id=net1 -device rtl8139,netdev=net1
       -object filter-replay,id=replay,netdev=net1
      
      Replay network filter is used to record and replay network packets. While
      recording the virtual machine this filter puts all packets coming from
      the outer world into the log. In replay mode packets from the log are
      injected into the network device. All interactions with network backend
      in replay mode are disabled.
      
      v5 changes:
       - using iov_to_buf function instead of loop
      
      Signed-off-by: default avatarPavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      646c5478
  21. Sep 27, 2016
Loading