KVM: x86 emulator: adds support to mov r,imm (opcode 0xb8) instruction
authorGuillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Tue, 27 May 2008 08:19:16 +0000 (10:19 +0200)
committerAvi Kivity <avi@qumranet.com>
Sun, 20 Jul 2008 09:42:27 +0000 (12:42 +0300)
Add support to mov r, imm (0xb8) instruction.

Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Signed-off-by: Laurent Vivier <laurent.vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/x86_emulate.c

index 48b62cc..21d7ff6 100644 (file)
@@ -152,7 +152,8 @@ static u16 opcode_table[256] = {
        ByteOp | ImplicitOps | Mov | String, ImplicitOps | Mov | String,
        ByteOp | ImplicitOps | String, ImplicitOps | String,
        /* 0xB0 - 0xBF */
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+       0, 0, 0, 0, 0, 0, 0, 0,
+       DstReg | SrcImm | Mov, 0, 0, 0, 0, 0, 0, 0,
        /* 0xC0 - 0xC7 */
        ByteOp | DstMem | SrcImm | ModRM, DstMem | SrcImmByte | ModRM,
        0, ImplicitOps | Stack, 0, 0,
@@ -1624,6 +1625,8 @@ special_insn:
        case 0xae ... 0xaf:     /* scas */
                DPRINTF("Urk! I don't handle SCAS.\n");
                goto cannot_emulate;
+       case 0xb8: /* mov r, imm */
+               goto mov;
        case 0xc0 ... 0xc1:
                emulate_grp2(ctxt);
                break;