KVM: x86 emulator: simplify two-byte opcode check

Two-byte opcode always start with 0x0F and the decode flags
of opcode 0xF0 is always 0, so remove dup check.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Wei Yongjun 2010-08-05 16:34:39 +08:00 committed by Avi Kivity
parent a58ddea556
commit d3ad624329

View File

@ -2375,13 +2375,11 @@ done_prefixes:
/* Opcode byte(s). */ /* Opcode byte(s). */
opcode = opcode_table[c->b]; opcode = opcode_table[c->b];
if (opcode.flags == 0) { /* Two-byte opcode? */
/* Two-byte opcode? */ if (c->b == 0x0f) {
if (c->b == 0x0f) { c->twobyte = 1;
c->twobyte = 1; c->b = insn_fetch(u8, 1, c->eip);
c->b = insn_fetch(u8, 1, c->eip); opcode = twobyte_table[c->b];
opcode = twobyte_table[c->b];
}
} }
c->d = opcode.flags; c->d = opcode.flags;