KVM: vmx: vmx instructions handling does not consider cs.l
authorNadav Amit <namit@cs.technion.ac.il>
Wed, 18 Jun 2014 14:19:26 +0000 (17:19 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Jun 2014 10:52:15 +0000 (12:52 +0200)
commit27e6fb5dae2819d17f38dc9224692b771e989981
treea70eb57477af54459b6d97f9e34156eaf01ed6b2
parent1e32c07955b43e7f827174bf320ed35971117275
KVM: vmx: vmx instructions handling does not consider cs.l

VMX instructions use 32-bit operands in 32-bit mode, and 64-bit operands in
64-bit mode.  The current implementation is broken since it does not use the
register operands correctly, and always uses 64-bit for reads and writes.
Moreover, write to memory in vmwrite only considers long-mode, so it ignores
cs.l. This patch fixes this behavior.

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