diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2010-07-06 12:51:09 +0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-08-02 07:40:24 +0400 |
commit | e97e883f8bfbe02cfc2bfff45e68921dfe590c7e (patch) | |
tree | ca9ba2e7f5ca10b406aecaf1c9401f937dbed248 /arch | |
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')
-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 ad8d7cdd1eb9..59568ad21ab3 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, |