OSDN Git Service

KVM: MMU: split reset_rsvds_bits_mask_ept
authorXiao Guangrong <guangrong.xiao@linux.intel.com>
Wed, 5 Aug 2015 04:04:23 +0000 (12:04 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 5 Aug 2015 10:47:24 +0000 (12:47 +0200)
Since shadow ept page tables and Intel nested guest page tables have the
same format, split reset_rsvds_bits_mask_ept so that the logic can be
reused by later patches which check zero bits on sptes

Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu.c

index d58e6cc..a965f3f 100644 (file)
@@ -3660,11 +3660,10 @@ static void reset_rsvds_bits_mask(struct kvm_vcpu *vcpu,
                                is_pse(vcpu));
 }
 
-static void reset_rsvds_bits_mask_ept(struct kvm_vcpu *vcpu,
-               struct kvm_mmu *context, bool execonly)
+static void
+__reset_rsvds_bits_mask_ept(struct rsvd_bits_validate *rsvd_check,
+                           int maxphyaddr, bool execonly)
 {
-       struct rsvd_bits_validate *rsvd_check = &context->guest_rsvd_check;
-       int maxphyaddr = cpuid_maxphyaddr(vcpu);
        int pte;
 
        rsvd_check->rsvd_bits_mask[0][3] =
@@ -3693,6 +3692,13 @@ static void reset_rsvds_bits_mask_ept(struct kvm_vcpu *vcpu,
        }
 }
 
+static void reset_rsvds_bits_mask_ept(struct kvm_vcpu *vcpu,
+               struct kvm_mmu *context, bool execonly)
+{
+       __reset_rsvds_bits_mask_ept(&context->guest_rsvd_check,
+                                   cpuid_maxphyaddr(vcpu), execonly);
+}
+
 static void update_permission_bitmask(struct kvm_vcpu *vcpu,
                                      struct kvm_mmu *mmu, bool ept)
 {