diff options
Diffstat (limited to 'drivers/kvm')
-rw-r--r-- | drivers/kvm/mmu.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c index b7b05c44399d..53c3643038bb 100644 --- a/drivers/kvm/mmu.c +++ b/drivers/kvm/mmu.c | |||
@@ -609,35 +609,6 @@ hpa_t gva_to_hpa(struct kvm_vcpu *vcpu, gva_t gva) | |||
609 | return gpa_to_hpa(vcpu, gpa); | 609 | return gpa_to_hpa(vcpu, gpa); |
610 | } | 610 | } |
611 | 611 | ||
612 | |||
613 | static void release_pt_page_64(struct kvm_vcpu *vcpu, hpa_t page_hpa, | ||
614 | int level) | ||
615 | { | ||
616 | u64 *pos; | ||
617 | u64 *end; | ||
618 | |||
619 | ASSERT(vcpu); | ||
620 | ASSERT(VALID_PAGE(page_hpa)); | ||
621 | ASSERT(level <= PT64_ROOT_LEVEL && level > 0); | ||
622 | |||
623 | for (pos = __va(page_hpa), end = pos + PT64_ENT_PER_PAGE; | ||
624 | pos != end; pos++) { | ||
625 | u64 current_ent = *pos; | ||
626 | |||
627 | if (is_present_pte(current_ent)) { | ||
628 | if (level != 1) | ||
629 | release_pt_page_64(vcpu, | ||
630 | current_ent & | ||
631 | PT64_BASE_ADDR_MASK, | ||
632 | level - 1); | ||
633 | else | ||
634 | rmap_remove(vcpu->kvm, pos); | ||
635 | } | ||
636 | *pos = 0; | ||
637 | } | ||
638 | kvm_mmu_free_page(vcpu, page_hpa); | ||
639 | } | ||
640 | |||
641 | static void nonpaging_new_cr3(struct kvm_vcpu *vcpu) | 612 | static void nonpaging_new_cr3(struct kvm_vcpu *vcpu) |
642 | { | 613 | { |
643 | } | 614 | } |