diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2010-07-06 08:51:09 (GMT) |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-08-02 03:40:24 (GMT) |
commit | e97e883f8bfbe02cfc2bfff45e68921dfe590c7e (patch) | |
tree | ca9ba2e7f5ca10b406aecaf1c9401f937dbed248 /arch/x86 | |
parent | ce7a0ad3bdcd86e6cf907eb5992fecb1503daa26 (diff) | |
download | linux-e97e883f8bfbe02cfc2bfff45e68921dfe590c7e.tar.xz |
KVM: x86 emulator: fix 'and AL,imm8' instruction decoding
'and AL,imm8' should be mask as ByteOp, otherwise the dest operand
length will no correct and we may fill the full EAX when writeback.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/emulate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index ad8d7cd..59568ad 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -123,7 +123,7 @@ static u32 opcode_table[256] = { /* 0x20 - 0x27 */ ByteOp | DstMem | SrcReg | ModRM | Lock, DstMem | SrcReg | ModRM | Lock, ByteOp | DstReg | SrcMem | ModRM, DstReg | SrcMem | ModRM, - DstAcc | SrcImmByte, DstAcc | SrcImm, 0, 0, + ByteOp | DstAcc | SrcImmByte, DstAcc | SrcImm, 0, 0, /* 0x28 - 0x2F */ ByteOp | DstMem | SrcReg | ModRM | Lock, DstMem | SrcReg | ModRM | Lock, ByteOp | DstReg | SrcMem | ModRM, DstReg | SrcMem | ModRM, |