ia64/xen-unstable

changeset 16704:56b42d68518e

x86_emulate: Fix near CALL/JMP <reg,mem>. Broken by c/s 16491.
Thanks to AMD for narrowing this one down.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jan 10 22:53:43 2008 +0000 (2008-01-10)
parents c86025f569cb
children e4fd457a3dd5
files xen/arch/x86/x86_emulate.c
line diff
     1.1 --- a/xen/arch/x86/x86_emulate.c	Thu Jan 10 22:52:40 2008 +0000
     1.2 +++ b/xen/arch/x86/x86_emulate.c	Thu Jan 10 22:53:43 2008 +0000
     1.3 @@ -1732,7 +1732,6 @@ x86_emulate(
     1.4              break;
     1.5          case 2: /* call (near) */
     1.6          case 4: /* jmp (near) */
     1.7 -            dst.type = OP_NONE;
     1.8              if ( (dst.bytes != 8) && mode_64bit() )
     1.9              {
    1.10                  dst.bytes = op_bytes = 8;
    1.11 @@ -1746,6 +1745,7 @@ x86_emulate(
    1.12              _regs.eip = dst.val;
    1.13              if ( (modrm_reg & 7) == 2 )
    1.14                  goto push; /* call */
    1.15 +            dst.type = OP_NONE;
    1.16              break;
    1.17          case 3: /* call (far, absolute indirect) */
    1.18          case 5: /* jmp (far, absolute indirect) */ {