aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r--arch/x86/kvm/svm.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 44679530ad5d..ef40b90219f6 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1877,10 +1877,12 @@ static bool nested_svm_vmrun(struct vcpu_svm *svm)
1877 if (npt_enabled) { 1877 if (npt_enabled) {
1878 svm->vmcb->save.cr3 = nested_vmcb->save.cr3; 1878 svm->vmcb->save.cr3 = nested_vmcb->save.cr3;
1879 svm->vcpu.arch.cr3 = nested_vmcb->save.cr3; 1879 svm->vcpu.arch.cr3 = nested_vmcb->save.cr3;
1880 } else { 1880 } else
1881 kvm_set_cr3(&svm->vcpu, nested_vmcb->save.cr3); 1881 kvm_set_cr3(&svm->vcpu, nested_vmcb->save.cr3);
1882 kvm_mmu_reset_context(&svm->vcpu); 1882
1883 } 1883 /* Guest paging mode is active - reset mmu */
1884 kvm_mmu_reset_context(&svm->vcpu);
1885
1884 svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = nested_vmcb->save.cr2; 1886 svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = nested_vmcb->save.cr2;
1885 kvm_register_write(&svm->vcpu, VCPU_REGS_RAX, nested_vmcb->save.rax); 1887 kvm_register_write(&svm->vcpu, VCPU_REGS_RAX, nested_vmcb->save.rax);
1886 kvm_register_write(&svm->vcpu, VCPU_REGS_RSP, nested_vmcb->save.rsp); 1888 kvm_register_write(&svm->vcpu, VCPU_REGS_RSP, nested_vmcb->save.rsp);