summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorPaul Knowles <paul@transitive.com>2008-02-06 11:02:35 +0000
committerAvi Kivity <avi@qumranet.com>2008-03-03 11:22:14 +0200
commitd730616384211436cfc84e6c2c1aa45351706a96 (patch)
tree1689885a6d9cc712f1728b45f7c72d73f0727e6e /arch/x86
parent6b390b6392309b98fd116b57c2926c44975cde26 (diff)
downloadlinux-d730616384211436cfc84e6c2c1aa45351706a96.tar.gz
linux-d730616384211436cfc84e6c2c1aa45351706a96.tar.bz2
linux-d730616384211436cfc84e6c2c1aa45351706a96.zip
KVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly
Whilst working on getting a VM to initialize in to IA32e mode I found this issue. set_cr0 relies on comparing the old cr0 to the new one to work correctly. Move the assignment below so the compare can work. Signed-off-by: Paul Knowles <paul@transitive.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kvm/x86.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index cf5308148689..ec60409299a3 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2861,8 +2861,8 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
kvm_x86_ops->decache_cr4_guest_bits(vcpu);
mmu_reset_needed |= vcpu->arch.cr0 != sregs->cr0;
- vcpu->arch.cr0 = sregs->cr0;
kvm_x86_ops->set_cr0(vcpu, sregs->cr0);
+ vcpu->arch.cr0 = sregs->cr0;
mmu_reset_needed |= vcpu->arch.cr4 != sregs->cr4;
kvm_x86_ops->set_cr4(vcpu, sregs->cr4);