From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QbUFA-0004jD-5l for qemu-devel@nongnu.org; Tue, 28 Jun 2011 05:06:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QbUF8-0003hT-25 for qemu-devel@nongnu.org; Tue, 28 Jun 2011 05:06:03 -0400 Received: from mail-iy0-f173.google.com ([209.85.210.173]:45874) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QbUF7-0003gw-HA for qemu-devel@nongnu.org; Tue, 28 Jun 2011 05:06:01 -0400 Received: by iyb3 with SMTP id 3so5865900iyb.4 for ; Tue, 28 Jun 2011 02:06:00 -0700 (PDT) MIME-Version: 1.0 Date: Tue, 28 Jun 2011 14:36:00 +0530 Message-ID: From: Mehul Chadha Content-Type: multipart/alternative; boundary=0016364ecdde01a97704a6c1fa76 Subject: [Qemu-devel] [Qemu devel] qemu fpu state in synch with hw fpu state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016364ecdde01a97704a6c1fa76 Content-Type: text/plain; charset=ISO-8859-1 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 --0016364ecdde01a97704a6c1fa76 Content-Type: text/html; charset=ISO-8859-1 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 --0016364ecdde01a97704a6c1fa76--