|
[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 |