aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r--arch/x86/kvm/emulate.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index f641201c7b31..cd49774f2d0e 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -1675,11 +1675,6 @@ static int em_jmp_far(struct x86_emulate_ctxt *ctxt)
1675 return X86EMUL_CONTINUE; 1675 return X86EMUL_CONTINUE;
1676} 1676}
1677 1677
1678static int em_grp1a(struct x86_emulate_ctxt *ctxt)
1679{
1680 return emulate_pop(ctxt, &ctxt->dst.val, ctxt->dst.bytes);
1681}
1682
1683static int em_grp2(struct x86_emulate_ctxt *ctxt) 1678static int em_grp2(struct x86_emulate_ctxt *ctxt)
1684{ 1679{
1685 switch (ctxt->modrm_reg) { 1680 switch (ctxt->modrm_reg) {
@@ -3203,7 +3198,7 @@ static struct opcode group1[] = {
3203}; 3198};
3204 3199
3205static struct opcode group1A[] = { 3200static struct opcode group1A[] = {
3206 D(DstMem | SrcNone | ModRM | Mov | Stack), N, N, N, N, N, N, N, 3201 I(DstMem | SrcNone | ModRM | Mov | Stack, em_pop), N, N, N, N, N, N, N,
3207}; 3202};
3208 3203
3209static struct opcode group3[] = { 3204static struct opcode group3[] = {
@@ -4031,9 +4026,6 @@ special_insn:
4031 case 0x8d: /* lea r16/r32, m */ 4026 case 0x8d: /* lea r16/r32, m */
4032 ctxt->dst.val = ctxt->src.addr.mem.ea; 4027 ctxt->dst.val = ctxt->src.addr.mem.ea;
4033 break; 4028 break;
4034 case 0x8f: /* pop (sole member of Grp1a) */
4035 rc = em_grp1a(ctxt);
4036 break;
4037 case 0x90 ... 0x97: /* nop / xchg reg, rax */ 4029 case 0x90 ... 0x97: /* nop / xchg reg, rax */
4038 if (ctxt->dst.addr.reg == &ctxt->regs[VCPU_REGS_RAX]) 4030 if (ctxt->dst.addr.reg == &ctxt->regs[VCPU_REGS_RAX])
4039 break; 4031 break;