Since v4, - Fixed a 32-bit compile bug and leftover debugging prints. - Dropped the patch to change virtio net guest announce timers for now. - Increased replay_kernel.py timeout because patch 3 was just nudging x86_64 test over the 120s timeout when run on gitlab. - New patch to add a non-flaky x86_64 q35 machine replay_kernel test. - Added some workarounds for the new reverse_debugging.py test cases that x86_64 and aarch64 fail on, so they don't cause CI failures.
Here are some CI jobs showing successes with replay_linux.py, replay_kernel.py, and reverse_debugging.py on aarch64, ppc64, and x86_64 tests: https://gitlab.com/npiggin/qemu/-/jobs/6416485196 https://gitlab.com/npiggin/qemu/-/jobs/6416485200 Thanks, Nick Nicholas Piggin (24): scripts/replay-dump.py: Update to current rr record format scripts/replay-dump.py: rejig decoders in event number order tests/avocado: excercise scripts/replay-dump.py in replay tests replay: allow runstate shutdown->running when replaying trace Revert "replay: stop us hanging in rr_wait_io_event" tests/avocado: replay_kernel.py add x86-64 q35 machine test chardev: set record/replay on the base device of a muxed device replay: Fix migration use of clock replay: Fix migration replay_mutex locking virtio-net: Use replay_schedule_bh_event for bhs that affect machine state virtio-net: Use virtual time for RSC timers savevm: Fix load_snapshot error path crash tests/avocado: replay_linux.py remove the timeout expected guards tests/avocado: reverse_debugging.py mark aarch64 and pseries as not flaky tests/avocado: reverse_debugging.py add test for x86-64 q35 machine tests/avocado: reverse_debugging.py verify addresses between record and replay tests/avocado: reverse_debugging.py stop VM before sampling icount tests/avocado: reverse_debugging reverse-step at the end of the trace tests/avocado: reverse_debugging.py add snapshot testing replay: simple auto-snapshot mode for record tests/avocado: reverse_debugging.py test auto-snapshot mode target/ppc: fix timebase register reset state spapr: Fix vpa dispatch count for record-replay tests/avocado: replay_linux.py add ppc64 pseries test docs/system/replay.rst | 5 + include/hw/ppc/spapr_cpu_core.h | 3 + include/sysemu/replay.h | 16 ++- include/sysemu/runstate.h | 1 + accel/tcg/tcg-accel-ops-rr.c | 2 +- chardev/char.c | 71 ++++++++--- hw/net/virtio-net.c | 17 +-- hw/ppc/ppc.c | 11 +- hw/ppc/spapr.c | 36 +----- hw/ppc/spapr_hcall.c | 33 +++++ hw/ppc/spapr_rtas.c | 1 + migration/migration.c | 17 ++- migration/savevm.c | 1 + replay/replay-snapshot.c | 57 +++++++++ replay/replay.c | 50 ++++---- system/runstate.c | 31 ++++- system/vl.c | 9 ++ qemu-options.hx | 9 +- scripts/replay-dump.py | 167 ++++++++++++++++-------- tests/avocado/replay_kernel.py | 31 ++++- tests/avocado/replay_linux.py | 92 +++++++++++++- tests/avocado/reverse_debugging.py | 197 +++++++++++++++++++++++++---- 22 files changed, 667 insertions(+), 190 deletions(-) -- 2.42.0