+..
+ Copyright (c) 2022, ISP RAS
+ Written by Pavel Dovgalyuk
+
+=======================
+Execution Record/Replay
+=======================
+
Record/replay mechanism, that could be enabled through icount mode, expects
the virtual devices to satisfy the following requirements.
the guest state during execution in icount mode should be deterministic.
Timers
-======
+------
All virtual devices should use virtual clock for timers that change the guest
state. Virtual clock is deterministic, therefore such timers are deterministic
replayed guest.
Bottom halves
-=============
+-------------
Bottom half callbacks, that affect the guest state, should be invoked through
replay_bh_schedule_event or replay_bh_schedule_oneshot_event functions.
log in replay mode.
Saving/restoring the VM state
-=============================
+-----------------------------
All fields in the device state structure (including virtual timers)
should be restored by loadvm to the same values they had before savevm.
the dependencies that may make restoring the VM state non-deterministic.
Stopping the VM
-===============
+---------------
Stopping the guest should not interfere with its state (with the exception
of the network connections, that could be broken by the remote timeouts).