Commit 158de57f authored by Avi Kivity's avatar Avi Kivity Committed by Marcelo Tosatti

KVM: x86 emulator: convert a few freestanding emulations to fastop

Reviewed-by: default avatarGleb Natapov <gleb@redhat.com>
Signed-off-by: default avatarAvi Kivity <avi.kivity@gmail.com>
Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
parent 34b77652
...@@ -2209,7 +2209,7 @@ static int em_cmpxchg(struct x86_emulate_ctxt *ctxt) ...@@ -2209,7 +2209,7 @@ static int em_cmpxchg(struct x86_emulate_ctxt *ctxt)
/* Save real source value, then compare EAX against destination. */ /* Save real source value, then compare EAX against destination. */
ctxt->src.orig_val = ctxt->src.val; ctxt->src.orig_val = ctxt->src.val;
ctxt->src.val = reg_read(ctxt, VCPU_REGS_RAX); ctxt->src.val = reg_read(ctxt, VCPU_REGS_RAX);
emulate_2op_SrcV(ctxt, "cmp"); fastop(ctxt, em_cmp);
if (ctxt->eflags & EFLG_ZF) { if (ctxt->eflags & EFLG_ZF) {
/* Success: write back to memory. */ /* Success: write back to memory. */
...@@ -2977,7 +2977,7 @@ static int em_das(struct x86_emulate_ctxt *ctxt) ...@@ -2977,7 +2977,7 @@ static int em_das(struct x86_emulate_ctxt *ctxt)
ctxt->src.type = OP_IMM; ctxt->src.type = OP_IMM;
ctxt->src.val = 0; ctxt->src.val = 0;
ctxt->src.bytes = 1; ctxt->src.bytes = 1;
emulate_2op_SrcV(ctxt, "or"); fastop(ctxt, em_or);
ctxt->eflags &= ~(X86_EFLAGS_AF | X86_EFLAGS_CF); ctxt->eflags &= ~(X86_EFLAGS_AF | X86_EFLAGS_CF);
if (cf) if (cf)
ctxt->eflags |= X86_EFLAGS_CF; ctxt->eflags |= X86_EFLAGS_CF;
...@@ -4816,7 +4816,7 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt) ...@@ -4816,7 +4816,7 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt)
(s16) ctxt->src.val; (s16) ctxt->src.val;
break; break;
case 0xc0 ... 0xc1: /* xadd */ case 0xc0 ... 0xc1: /* xadd */
emulate_2op_SrcV(ctxt, "add"); fastop(ctxt, em_add);
/* Write back the register source. */ /* Write back the register source. */
ctxt->src.val = ctxt->dst.orig_val; ctxt->src.val = ctxt->dst.orig_val;
write_register_operand(&ctxt->src); write_register_operand(&ctxt->src);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment