Prechádzať zdrojové kódy

KVM: VMX: When using ept, allow the guest to own cr4.pge

We make no use of cr4.pge if ept is enabled, but the guest does (to flush
global mappings, as with vmap()), so give the guest ownership of this bit.

Signed-off-by: Avi Kivity <avi@redhat.com>
Avi Kivity 16 rokov pred
rodič
commit
ce03e4f21a
1 zmenil súbory, kde vykonal 2 pridanie a 0 odobranie
  1. 2 0
      arch/x86/kvm/vmx.c

+ 2 - 0
arch/x86/kvm/vmx.c

@@ -2424,6 +2424,8 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx)
 
 	vmcs_writel(CR0_GUEST_HOST_MASK, ~0UL);
 	vmx->vcpu.arch.cr4_guest_owned_bits = KVM_CR4_GUEST_OWNED_BITS;
+	if (enable_ept)
+		vmx->vcpu.arch.cr4_guest_owned_bits |= X86_CR4_PGE;
 	vmcs_writel(CR4_GUEST_HOST_MASK, ~vmx->vcpu.arch.cr4_guest_owned_bits);
 
 	tsc_base = vmx->vcpu.kvm->arch.vm_init_tsc;