> > I am working on implementation of deteministic execution replay > technology > > for Qemu. It should be similar to VMWare's replay debugging. > > > > To make alarm timer (which invokes host_alarm_handler function) > > determinisic, I changed it's behavior: it sets flag, that execution > should > > be stopped and this flag is checked before every instruction in the > > translated code. > > You don't need to do this. A much better solution is to not use the > host timer > at all. See -icount.
Thank you for your reply. I know, that there is a virtual timers, that are enabled by -icount option and can be used to get rid of host timers usage. But the problem is different - I need to synchronize alarm thread, which breaks the execution of guest code to allow processing interrupts and interaction with VNC/GDB/... Events caused by alarm thread are non-deterministic and asynchronous. To save these events in the execution log (for latter replay) I need to synchronize them with execution of guest code. The way which I am using for it is allowing execution stop at any point of the guest code. Pavel Dovgaluk