aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-08-18 12:25:28 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:51:15 -0400
commit7db41eb76244ae623de842e818e459755968a33b (patch)
tree9661ee9702be3746bb52cbc9ca9d6e5bb4c8fc99 /arch
parent39f21ee546cf7d563d813c5fb4473431c1d8fce7 (diff)
KVM: x86 emulator: add Src2Imm decoding
Needed for 3-operand IMUL. Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/emulate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 95543a6beb53..f456d7e11b3e 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -95,6 +95,7 @@
95#define Src2CL (1<<29) 95#define Src2CL (1<<29)
96#define Src2ImmByte (2<<29) 96#define Src2ImmByte (2<<29)
97#define Src2One (3<<29) 97#define Src2One (3<<29)
98#define Src2Imm (4<<29)
98#define Src2Mask (7<<29) 99#define Src2Mask (7<<29)
99 100
100#define X2(x...) x, x 101#define X2(x...) x, x
@@ -2844,6 +2845,9 @@ done_prefixes:
2844 c->src2.bytes = 1; 2845 c->src2.bytes = 1;
2845 c->src2.val = 1; 2846 c->src2.val = 1;
2846 break; 2847 break;
2848 case Src2Imm:
2849 rc = decode_imm(ctxt, &c->src2, imm_size(c), true);
2850 break;
2847 } 2851 }
2848 2852
2849 if (rc != X86EMUL_CONTINUE) 2853 if (rc != X86EMUL_CONTINUE)