KVM: x86 emulator: add Src2Imm decoding
authorAvi Kivity <avi@redhat.com>
Wed, 18 Aug 2010 16:25:28 +0000 (19:25 +0300)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Oct 2010 08:51:15 +0000 (10:51 +0200)
Needed for 3-operand IMUL.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/emulate.c

index 95543a6..f456d7e 100644 (file)
@@ -95,6 +95,7 @@
 #define Src2CL      (1<<29)
 #define Src2ImmByte (2<<29)
 #define Src2One     (3<<29)
+#define Src2Imm     (4<<29)
 #define Src2Mask    (7<<29)
 
 #define X2(x...) x, x
@@ -2844,6 +2845,9 @@ done_prefixes:
                c->src2.bytes = 1;
                c->src2.val = 1;
                break;
+       case Src2Imm:
+               rc = decode_imm(ctxt, &c->src2, imm_size(c), true);
+               break;
        }
 
        if (rc != X86EMUL_CONTINUE)