]> xenbits.xensource.com Git - xen.git/commitdiff
x86emul: correct direction of FPU insn emulations
authorJan Beulich <jbeulich@suse.com>
Thu, 10 Nov 2016 17:12:56 +0000 (18:12 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 10 Nov 2016 17:12:56 +0000 (18:12 +0100)
There are two cases where this was wrong, albeit in a benign way (the
compiler - according to my checking - didn't leverage the wrongness
for any optimizations affecting overall outcome).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
xen/arch/x86/x86_emulate/x86_emulate.c

index ec748a0d28b85cc83c7f5097e81733f787dc6dab..67ef31d515998cdf771a81c719b2ee2d718b3030 100644 (file)
@@ -3683,7 +3683,7 @@ x86_emulate(
                 if ( (rc = ops->read(src.mem.seg, src.mem.off,
                                      &src.val, src.bytes, ctxt)) != 0 )
                     goto done;
-                emulate_fpu_insn_memdst("fldt", src.val);
+                emulate_fpu_insn_memsrc("fldt", src.val);
                 break;
             case 7: /* fstp m80fp */
                 ea.bytes = 10;
@@ -3780,7 +3780,7 @@ x86_emulate(
                 ea.bytes = 8;
                 dst = ea;
                 dst.type = OP_MEM;
-                emulate_fpu_insn_memsrc("fstl", dst.val);
+                emulate_fpu_insn_memdst("fstl", dst.val);
                 break;
             case 3: /* fstp m64fp */
                 ea.bytes = 8;