KVM: MMU: Only enable cr4_pge role in shadow mode
authorAvi Kivity <avi@redhat.com>
Sun, 11 Jan 2009 15:19:35 +0000 (17:19 +0200)
committerAvi Kivity <avi@redhat.com>
Tue, 24 Mar 2009 09:03:04 +0000 (11:03 +0200)
Two dimensional paging is only confused by it.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c

index 6fbc346..19ccde6 100644 (file)
@@ -364,7 +364,7 @@ void kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)
        }
        kvm_x86_ops->set_cr4(vcpu, cr4);
        vcpu->arch.cr4 = cr4;
-       vcpu->arch.mmu.base_role.cr4_pge = !!(cr4 & X86_CR4_PGE);
+       vcpu->arch.mmu.base_role.cr4_pge = (cr4 & X86_CR4_PGE) && !tdp_enabled;
        kvm_mmu_sync_global(vcpu);
        kvm_mmu_reset_context(vcpu);
 }