I submit a patch to fix bugs 661696 and 1248376. This is the fourth version of 
this patch.
As mentioned in a previous email, the patch implements, for TCG, the 
specifications provided in Intel and AMD programmer's manuals regarding the x87 
exception pointers. That is, when executing instructions fstenv/fnstenv, fsave 
and fxsave the values for the instruction pointer, data pointer and opcode of 
the last non-control x87 instruction executed, are correctly saved to the 
specified memory address. When executing instructions fldenv, frstor and 
fxrstor the values that are going to be considered the instruction pointer, 
data pointer and opcode of the last non-control x87 instruction are obtained 
from the specified memory address.
I have added an option in the configure script to enable and disable this 
development (option tcg-exception-pointers). After testing, I found no 
performance change between having this option activated and having it disabled.

Best regards,
Jaume

 configure                |  10 ++
 linux-user/signal.c      |   4 +-
 target-i386/cpu.h        |  29 ++-
 target-i386/fpu_helper.c | 238 ++++++++++++++++++++-----
 target-i386/machine.c    |  11 +-
 target-i386/translate.c  | 455 ++++++++++++++++++++++++++++++++++-------------
 tests/tcg/test-i386.c    |  75 +++++++-
 7 files changed, 645 insertions(+), 177 deletions(-)

-- 
2.1.0


Reply via email to