diff options
author | Avi Kivity <avi@redhat.com> | 2011-09-13 10:45:38 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-09-25 19:14:58 +0300 |
commit | 9be3be1f153e90ea4e1e5b6ed1d72a73d44318d1 (patch) | |
tree | d3abe3c1ccbbf46af58b8d737821cef6e80ebd84 | |
parent | 41bc3186b3c92a4ca05e2aa14bb6272fb491e679 (diff) | |
download | blackbird-op-linux-9be3be1f153e90ea4e1e5b6ed1d72a73d44318d1.tar.gz blackbird-op-linux-9be3be1f153e90ea4e1e5b6ed1d72a73d44318d1.zip |
KVM: x86 emulator: fix Src2CL decode
Src2CL decode (used for double width shifts) erronously decodes only bit 3
of %rcx, instead of bits 7:0.
Fix by decoding %cl in its entirety.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-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 6f08bc940fa8..8b4cc5f067de 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -3603,7 +3603,7 @@ done_prefixes: break; case Src2CL: ctxt->src2.bytes = 1; - ctxt->src2.val = ctxt->regs[VCPU_REGS_RCX] & 0x8; + ctxt->src2.val = ctxt->regs[VCPU_REGS_RCX] & 0xff; break; case Src2ImmByte: rc = decode_imm(ctxt, &ctxt->src2, 1, true); |