[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.0-testing] x86_emulate: FPU 0xda instructions have a 32-bit memory operand, not 64-bit.
# HG changeset patch # User Keir Fraser <keir@xxxxxxx> # Date 1299601502 0 # Node ID 61c7b61085c54d87d2495f74933b74360ff05187 # Parent ef9a7d88c2c943dd59ee21a250fc9b0737810029 x86_emulate: FPU 0xda instructions have a 32-bit memory operand, not 64-bit. Signed-off-by: Keir Fraser <keir@xxxxxxx> xen-unstable changeset: 22993:22eb31eb688a xen-unstable date: Tue Mar 08 16:14:55 2011 +0000 --- diff -r ef9a7d88c2c9 -r 61c7b61085c5 xen/arch/x86/x86_emulate/x86_emulate.c --- a/xen/arch/x86/x86_emulate/x86_emulate.c Tue Mar 08 16:24:51 2011 +0000 +++ b/xen/arch/x86/x86_emulate/x86_emulate.c Tue Mar 08 16:25:02 2011 +0000 @@ -2667,35 +2667,35 @@ break; default: fail_if(modrm >= 0xc0); - ea.bytes = 8; + ea.bytes = 4; src = ea; if ( (rc = ops->read(src.mem.seg, src.mem.off, &src.val, src.bytes, ctxt)) != 0 ) goto done; switch ( modrm_reg & 7 ) { - case 0: /* fiadd m64i */ + case 0: /* fiadd m32i */ emulate_fpu_insn_memsrc("fiaddl", src.val); break; - case 1: /* fimul m64i */ + case 1: /* fimul m32i */ emulate_fpu_insn_memsrc("fimull", src.val); break; - case 2: /* ficom m64i */ + case 2: /* ficom m32i */ emulate_fpu_insn_memsrc("ficoml", src.val); break; - case 3: /* ficomp m64i */ + case 3: /* ficomp m32i */ emulate_fpu_insn_memsrc("ficompl", src.val); break; - case 4: /* fisub m64i */ + case 4: /* fisub m32i */ emulate_fpu_insn_memsrc("fisubl", src.val); break; - case 5: /* fisubr m64i */ + case 5: /* fisubr m32i */ emulate_fpu_insn_memsrc("fisubrl", src.val); break; - case 6: /* fidiv m64i */ + case 6: /* fidiv m32i */ emulate_fpu_insn_memsrc("fidivl", src.val); break; - case 7: /* fidivr m64i */ + case 7: /* fidivr m32i */ emulate_fpu_insn_memsrc("fidivrl", src.val); break; default: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |