docs: convert docs/devel/replay page to rst

This patch converts prior .txt replay devel documentation to .rst.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <165364839013.688121.11935249420738873044.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
master
Pavel Dovgalyuk 2022-05-27 13:46:30 +03:00 committed by Paolo Bonzini
parent 3e21408b05
commit 04d0583a4f
2 changed files with 13 additions and 4 deletions

View File

@ -13,3 +13,4 @@ are only implementing things for HW accelerated hypervisors.
multi-thread-tcg multi-thread-tcg
tcg-icount tcg-icount
tcg-plugins tcg-plugins
replay

View File

@ -1,3 +1,11 @@
..
Copyright (c) 2022, ISP RAS
Written by Pavel Dovgalyuk
=======================
Execution Record/Replay
=======================
Record/replay mechanism, that could be enabled through icount mode, expects Record/replay mechanism, that could be enabled through icount mode, expects
the virtual devices to satisfy the following requirements. the virtual devices to satisfy the following requirements.
@ -5,7 +13,7 @@ The main idea behind this document is that everything that affects
the guest state during execution in icount mode should be deterministic. the guest state during execution in icount mode should be deterministic.
Timers Timers
====== ------
All virtual devices should use virtual clock for timers that change the guest All virtual devices should use virtual clock for timers that change the guest
state. Virtual clock is deterministic, therefore such timers are deterministic state. Virtual clock is deterministic, therefore such timers are deterministic
@ -19,7 +27,7 @@ the virtual devices (e.g., slirp routing device) that lie outside the
replayed guest. replayed guest.
Bottom halves Bottom halves
============= -------------
Bottom half callbacks, that affect the guest state, should be invoked through Bottom half callbacks, that affect the guest state, should be invoked through
replay_bh_schedule_event or replay_bh_schedule_oneshot_event functions. replay_bh_schedule_event or replay_bh_schedule_oneshot_event functions.
@ -27,7 +35,7 @@ Their invocations are saved in record mode and synchronized with the existing
log in replay mode. log in replay mode.
Saving/restoring the VM state Saving/restoring the VM state
============================= -----------------------------
All fields in the device state structure (including virtual timers) All fields in the device state structure (including virtual timers)
should be restored by loadvm to the same values they had before savevm. should be restored by loadvm to the same values they had before savevm.
@ -38,7 +46,7 @@ is not defined. It means that you should not call functions like
the dependencies that may make restoring the VM state non-deterministic. the dependencies that may make restoring the VM state non-deterministic.
Stopping the VM Stopping the VM
=============== ---------------
Stopping the guest should not interfere with its state (with the exception Stopping the guest should not interfere with its state (with the exception
of the network connections, that could be broken by the remote timeouts). of the network connections, that could be broken by the remote timeouts).