aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorNadav Amit <namit@cs.technion.ac.il>2014-05-07 08:32:49 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2014-05-07 11:24:59 -0400
commita4ab9d0cf1ef0bf521bb69099aa464f38c71393c (patch)
tree2e5c799010d8be702afcc0b78925c51581bcb55c /arch/x86/kvm
parent4291b58885f5af560488a5b9667ca6930b9fdc3d (diff)
KVM: vmx: handle_dr does not handle RSP correctly
The RSP register is not automatically cached, causing mov DR instruction with RSP to fail. Instead the regular register accessing interface should be used. Signed-off-by: Nadav Amit <namit@cs.technion.ac.il> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r--arch/x86/kvm/vmx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index a5fd47e4abfc..61e818d80732 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -5143,7 +5143,7 @@ static int handle_dr(struct kvm_vcpu *vcpu)
5143 return 1; 5143 return 1;
5144 kvm_register_write(vcpu, reg, val); 5144 kvm_register_write(vcpu, reg, val);
5145 } else 5145 } else
5146 if (kvm_set_dr(vcpu, dr, vcpu->arch.regs[reg])) 5146 if (kvm_set_dr(vcpu, dr, kvm_register_read(vcpu, reg)))
5147 return 1; 5147 return 1;
5148 5148
5149 skip_emulated_instruction(vcpu); 5149 skip_emulated_instruction(vcpu);