Hello,

We are working on a record replaying tool in qemu and kvm. We have
successfully implemented record replaying individually in both the systems.
So, we can record executions of VM in qemu and replay it in qemu and
similarly in kvm. The next interesting stuff would be to implement a cross
system where we can record execution in kvm and asynchronously replay it in
qemu. There are some interesting applications of being able to do this (eg.
asynchronous taint analysis).

We maintain a record log where we record non deterministic information
during record and while replaying, the record log is used. For eg. we store
interrupt info, IO in this record log.

For cross record replay to work, it is important that the entire state of
the system remains same across all instructions in both qemu and kvm (HW).
We have done most of this work, but it seems still much is left. We are
facing issues to get the floating point state consistent across all floating
point instructions. Any pointers here will be appreciated. We find that
floating point status word and floating point control word are not
consistent with the actual hardware state. We also tried the new patch where
i386 is made compatible with softfloat, but there still seems to be issues
with it.

What would be the likely effort required to get qemu fpu in synch with hw
fpu?

Thanks,
Mehul

Reply via email to