]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: emulation of dword cmov on long-mode should clear [63:32]
authorNadav Amit <namit@cs.technion.ac.il>
Sun, 15 Jun 2014 13:13:00 +0000 (16:13 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Jun 2014 10:52:10 +0000 (12:52 +0200)
commitda2cf6cb46461a328cf5bbafb8d9d159528216b8
tree804730300e75d1574caacd63a89fee2c0896894e
parentff4d510bd5416d471c5135833f4f5f44f626d34e
KVM: x86: emulation of dword cmov on long-mode should clear [63:32]

Even if the condition of cmov is not satisfied, bits[63:32] should be cleared.
This is clearly stated in Intel's CMOVcc documentation.  The solution is to
reassign the destination onto itself if the condition is unsatisfied.  For that
matter the original destination value needs to be read.

Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c