> From: Artyom Tarasenko [mailto:atar4q...@gmail.com] > On Wed, Nov 26, 2014 at 11:47 AM, Pavel Dovgaluk > <pavel.dovga...@ispras.ru> wrote: > > That covermail was wrong. Here is the correct one: > > > > This set of patches is related to the reverse execution and deterministic > > replay of qemu execution This implementation of deterministic replay can > > be used for deterministic debugging of guest code through gdb remote > > interface. > > > > These patches include only core function of the replay, > > excluding the support for replaying serial, audio, network, and USB devices' > > operations. Reverse debugging and monitor commands were also excluded to > > be submitted later as separate patches. > > > > Execution recording writes non-deterministic events log, which can be later > > used for replaying the execution anywhere and for unlimited number of times. > > It also supports checkpointing for faster rewinding during reverse > > debugging. > > Execution replaying reads the log and replays all non-deterministic events > > including external input, hardware clocks, and interrupts. > > > > Deterministic replay has the following features: > > * Deterministically replays whole system execution and all contents of the > > memory, > > state of the hadrware devices, clocks, and screen of the VM. > > * Writes execution log into the file for latter replaying for multiple > > times > > on different machines. > > * Supports i386, x86_64, and ARM hardware platforms. > > This patch series is really impressive, hats off! > > I wonder what would have to be done to add support for SPARC-64? Since > has a PCI bus, I guess the support in atapi and usb devices is already > there. Is anything beyond translate.c has to be adjusted?
This implementation of replay does not requires changing the translation. But there could be some issues anyway: - icount can have some bugs for this CPU - there could be translation non-determinism when it crosses pages boundary - virtual devices can create non-synchronized bottom halves that will bring non-determinism - clocks and timers can be incorrectly used by virtual devices It will be great if you can try replay for SPARC and report about your experience. Pavel Dovgalyuk