On 24/01/2017 08:16, Pavel Dovgalyuk wrote: > This set of patches includes several fixes for replay and vmstate. > > This patches add rrsnapshot option for icount. rrshapshot option creates > start snapshot at record and loads it at replay. It allows preserving > the state of disk images used by virtual machine. This vm state can also > use used to roll back the execution while replaying. > > With these patches operations with audio devices can also be recorded > and replayed. All interactions with passthrough audio (including > microphone input) are recorded automatically when -soundhw is specified > at the command line. > > This set of patches includes fixes and additions for icount and > record/replay implementation: > - VM start/stop in replay mode > - overlay creation for blkreplay filter > - rrsnapshot option for record/replay > - vmstate fix for integratorcp ARM platform > - vmstate fixes for apic and rtc > - fixes for icount record/replay mode > - record/replay for audio devices > > v7 changes: > - Fixed exception replaying when TB cache is full and > when tb_find is called when there are no instructions about to execute > - Added record/replay for audio devices
Queued patches 1, 2, 6, 8, 9. Please post patches for ARM, block and audio maintainers separately if you don't get attention soon. Paolo > v6 changes: > - Added overlay creation for blkreplay driver > - Fixed vmstate loading for apic and rtc > - Fixed instruction counting for apic instruction patching > > v5 changes: > - Recording is stopped when initial snapshot cannot be created > - Minor changes > > v4 changes: > - Overlay option is removed from blkreplay driver (as suggested by Paolo > Bonzini) > - Minor changes > > v3 changes: > - Added rrsnapshot option for specifying the initial snapshot name (as > suggested by Paolo Bonzini) > - Minor changes > > --- > > Pavel Dovgalyuk (14): > icount: update instruction counter on apic patching > replay: improve interrupt handling > replay: exception replay fix > icount: exit cpu loop on expire > apic: save apic_delivered flag > replay: don't use rtc clock on loadvm phase > integratorcp: adding vmstate for save/restore > savevm: add public save_vmstate function > replay: save/load initial state > block: implement bdrv_snapshot_goto for blkreplay > blkreplay: create temporary overlay for underlaying devices > replay: disable default snapshot for record/replay > audio: make audio poll timer deterministic > replay: add record/replay for audio passthrough > > > audio/audio.c | 15 +++++-- > audio/audio.h | 5 ++ > audio/mixeng.c | 31 ++++++++++++++ > block/blkreplay.c | 84 > +++++++++++++++++++++++++++++++++++++++ > cpu-exec.c | 21 ++++++++-- > docs/replay.txt | 23 +++++++++++ > hw/arm/integratorcp.c | 62 +++++++++++++++++++++++++++++ > hw/i386/kvmvapic.c | 6 +++ > hw/intc/apic_common.c | 32 +++++++++++++++ > hw/timer/mc146818rtc.c | 14 +++++-- > include/hw/i386/apic_internal.h | 2 + > include/sysemu/replay.h | 16 +++++++ > include/sysemu/sysemu.h | 1 > migration/savevm.c | 33 ++++++++++----- > qemu-options.hx | 8 +++- > replay/Makefile.objs | 1 > replay/replay-audio.c | 79 +++++++++++++++++++++++++++++++++++++ > replay/replay-internal.h | 4 ++ > replay/replay-snapshot.c | 17 ++++++++ > replay/replay.c | 5 ++ > stubs/replay.c | 1 > target/i386/seg_helper.c | 1 > vl.c | 17 +++++++- > 23 files changed, 450 insertions(+), 28 deletions(-) > create mode 100644 replay/replay-audio.c >
