提交 c04ec839 编写于 作者: T Takuya Yoshikawa 提交者: Avi Kivity

KVM: x86 emulator: Use opcode::execute for Group 4/5 instructions

Group 4: FE
Group 5: FF
Signed-off-by: NTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 c15af35f
......@@ -3213,16 +3213,19 @@ static struct opcode group3[] = {
};
static struct opcode group4[] = {
D(ByteOp | DstMem | SrcNone | ModRM | Lock), D(ByteOp | DstMem | SrcNone | ModRM | Lock),
I(ByteOp | DstMem | SrcNone | ModRM | Lock, em_grp45),
I(ByteOp | DstMem | SrcNone | ModRM | Lock, em_grp45),
N, N, N, N, N, N,
};
static struct opcode group5[] = {
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
D(SrcMem | ModRM | Stack),
I(DstMem | SrcNone | ModRM | Lock, em_grp45),
I(DstMem | SrcNone | ModRM | Lock, em_grp45),
I(SrcMem | ModRM | Stack, em_grp45),
I(SrcMemFAddr | ModRM | ImplicitOps | Stack, em_call_far),
D(SrcMem | ModRM | Stack), D(SrcMemFAddr | ModRM | ImplicitOps),
D(SrcMem | ModRM | Stack), N,
I(SrcMem | ModRM | Stack, em_grp45),
I(SrcMemFAddr | ModRM | ImplicitOps, em_grp45),
I(SrcMem | ModRM | Stack, em_grp45), N,
};
static struct opcode group6[] = {
......@@ -4082,12 +4085,6 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt)
case 0xfd: /* std */
ctxt->eflags |= EFLG_DF;
break;
case 0xfe: /* Grp4 */
rc = em_grp45(ctxt);
break;
case 0xff: /* Grp5 */
rc = em_grp45(ctxt);
break;
default:
goto cannot_emulate;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册