diff options
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 6e50314d64fb..fa708c9a7437 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -667,6 +667,7 @@ int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
667 | if (unlikely(!gfn_to_memslot(vcpu->kvm, cr3 >> PAGE_SHIFT))) | 667 | if (unlikely(!gfn_to_memslot(vcpu->kvm, cr3 >> PAGE_SHIFT))) |
668 | return 1; | 668 | return 1; |
669 | vcpu->arch.cr3 = cr3; | 669 | vcpu->arch.cr3 = cr3; |
670 | __set_bit(VCPU_EXREG_CR3, (ulong *)&vcpu->arch.regs_avail); | ||
670 | vcpu->arch.mmu.new_cr3(vcpu); | 671 | vcpu->arch.mmu.new_cr3(vcpu); |
671 | return 0; | 672 | return 0; |
672 | } | 673 | } |
@@ -5583,6 +5584,7 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, | |||
5583 | vcpu->arch.cr2 = sregs->cr2; | 5584 | vcpu->arch.cr2 = sregs->cr2; |
5584 | mmu_reset_needed |= kvm_read_cr3(vcpu) != sregs->cr3; | 5585 | mmu_reset_needed |= kvm_read_cr3(vcpu) != sregs->cr3; |
5585 | vcpu->arch.cr3 = sregs->cr3; | 5586 | vcpu->arch.cr3 = sregs->cr3; |
5587 | __set_bit(VCPU_EXREG_CR3, (ulong *)&vcpu->arch.regs_avail); | ||
5586 | 5588 | ||
5587 | kvm_set_cr8(vcpu, sregs->cr8); | 5589 | kvm_set_cr8(vcpu, sregs->cr8); |
5588 | 5590 | ||