# HG changeset patch # User Keir Fraser # Date 1200005623 0 # Node ID 56b42d68518e662b8a20103486ca87026271245f # Parent c86025f569cbeece7561898f2a81b2979e1c93a9 x86_emulate: Fix near CALL/JMP . Broken by c/s 16491. Thanks to AMD for narrowing this one down. Signed-off-by: Keir Fraser diff -r c86025f569cb -r 56b42d68518e xen/arch/x86/x86_emulate.c --- a/xen/arch/x86/x86_emulate.c Thu Jan 10 22:52:40 2008 +0000 +++ b/xen/arch/x86/x86_emulate.c Thu Jan 10 22:53:43 2008 +0000 @@ -1732,7 +1732,6 @@ x86_emulate( break; case 2: /* call (near) */ case 4: /* jmp (near) */ - dst.type = OP_NONE; if ( (dst.bytes != 8) && mode_64bit() ) { dst.bytes = op_bytes = 8; @@ -1746,6 +1745,7 @@ x86_emulate( _regs.eip = dst.val; if ( (modrm_reg & 7) == 2 ) goto push; /* call */ + dst.type = OP_NONE; break; case 3: /* call (far, absolute indirect) */ case 5: /* jmp (far, absolute indirect) */ {