KVM: x86 emulator: fix 'mov rm,sreg' instruction decoding
authorWei Yongjun <yjwei@cn.fujitsu.com>
Tue, 6 Jul 2010 08:52:53 +0000 (16:52 +0800)
committerAvi Kivity <avi@redhat.com>
Mon, 2 Aug 2010 03:40:25 +0000 (06:40 +0300)
The source operand of 'mov rm,sreg' is segment register, not
general-purpose register, so remove SrcReg from decoding.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/emulate.c

index 59568ad..8337567 100644 (file)
@@ -169,7 +169,7 @@ static u32 opcode_table[256] = {
        /* 0x88 - 0x8F */
        ByteOp | DstMem | SrcReg | ModRM | Mov, DstMem | SrcReg | ModRM | Mov,
        ByteOp | DstReg | SrcMem | ModRM | Mov, DstReg | SrcMem | ModRM | Mov,
-       DstMem | SrcReg | ModRM | Mov, ModRM | DstReg,
+       DstMem | SrcNone | ModRM | Mov, ModRM | DstReg,
        ImplicitOps | SrcMem16 | ModRM, Group | Group1A,
        /* 0x90 - 0x97 */
        DstReg, DstReg, DstReg, DstReg, DstReg, DstReg, DstReg, DstReg,