[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 4/3] tests/x86emul: Save and restore FPU state in the middle of emulation
Using libc functions in the middle of emulation may corrupt FPU state. Save and restore FPU state around the progress marker which is the only current libc function on the success path. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> --- tools/tests/x86_emulator/test_x86_emulator.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/tests/x86_emulator/test_x86_emulator.c b/tools/tests/x86_emulator/test_x86_emulator.c index 6e24637..894a44c 100644 --- a/tools/tests/x86_emulator/test_x86_emulator.c +++ b/tools/tests/x86_emulator/test_x86_emulator.c @@ -3491,7 +3491,12 @@ int main(int argc, char **argv) regs.eip < (unsigned long)res + blobs[j].size ) { if ( (i++ & 8191) == 0 ) + { + emul_save_fpu_state(); printf("."); + emul_restore_fpu_state(); + } + rc = x86_emulate(&ctxt, &emulops); if ( rc != X86EMUL_OKAY ) { -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |