|
@@ -2570,11 +2570,6 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
|
|
|
kvm_release_pfn_clean(pfn);
|
|
|
}
|
|
|
|
|
|
-static void nonpaging_new_cr3(struct kvm_vcpu *vcpu)
|
|
|
-{
|
|
|
- mmu_free_roots(vcpu);
|
|
|
-}
|
|
|
-
|
|
|
static pfn_t pte_prefetch_gfn_to_pfn(struct kvm_vcpu *vcpu, gfn_t gfn,
|
|
|
bool no_dirty_log)
|
|
|
{
|
|
@@ -3427,7 +3422,6 @@ out_unlock:
|
|
|
static int nonpaging_init_context(struct kvm_vcpu *vcpu,
|
|
|
struct kvm_mmu *context)
|
|
|
{
|
|
|
- context->new_cr3 = nonpaging_new_cr3;
|
|
|
context->page_fault = nonpaging_page_fault;
|
|
|
context->gva_to_gpa = nonpaging_gva_to_gpa;
|
|
|
context->sync_page = nonpaging_sync_page;
|
|
@@ -3448,9 +3442,8 @@ void kvm_mmu_flush_tlb(struct kvm_vcpu *vcpu)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(kvm_mmu_flush_tlb);
|
|
|
|
|
|
-static void paging_new_cr3(struct kvm_vcpu *vcpu)
|
|
|
+void kvm_mmu_new_cr3(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
- pgprintk("%s: cr3 %lx\n", __func__, kvm_read_cr3(vcpu));
|
|
|
mmu_free_roots(vcpu);
|
|
|
}
|
|
|
|
|
@@ -3666,7 +3659,6 @@ static int paging64_init_context_common(struct kvm_vcpu *vcpu,
|
|
|
update_last_pte_bitmap(vcpu, context);
|
|
|
|
|
|
ASSERT(is_pae(vcpu));
|
|
|
- context->new_cr3 = paging_new_cr3;
|
|
|
context->page_fault = paging64_page_fault;
|
|
|
context->gva_to_gpa = paging64_gva_to_gpa;
|
|
|
context->sync_page = paging64_sync_page;
|
|
@@ -3694,7 +3686,6 @@ static int paging32_init_context(struct kvm_vcpu *vcpu,
|
|
|
update_permission_bitmask(vcpu, context, false);
|
|
|
update_last_pte_bitmap(vcpu, context);
|
|
|
|
|
|
- context->new_cr3 = paging_new_cr3;
|
|
|
context->page_fault = paging32_page_fault;
|
|
|
context->gva_to_gpa = paging32_gva_to_gpa;
|
|
|
context->sync_page = paging32_sync_page;
|
|
@@ -3717,7 +3708,6 @@ static int init_kvm_tdp_mmu(struct kvm_vcpu *vcpu)
|
|
|
struct kvm_mmu *context = vcpu->arch.walk_mmu;
|
|
|
|
|
|
context->base_role.word = 0;
|
|
|
- context->new_cr3 = nonpaging_new_cr3;
|
|
|
context->page_fault = tdp_page_fault;
|
|
|
context->sync_page = nonpaging_sync_page;
|
|
|
context->invlpg = nonpaging_invlpg;
|
|
@@ -3792,7 +3782,6 @@ int kvm_init_shadow_ept_mmu(struct kvm_vcpu *vcpu, struct kvm_mmu *context,
|
|
|
context->shadow_root_level = kvm_x86_ops->get_tdp_level();
|
|
|
|
|
|
context->nx = true;
|
|
|
- context->new_cr3 = paging_new_cr3;
|
|
|
context->page_fault = ept_page_fault;
|
|
|
context->gva_to_gpa = ept_gva_to_gpa;
|
|
|
context->sync_page = ept_sync_page;
|