/kernel/linux/linux-5.10/arch/x86/kvm/ |
H A D | mmu.h | 71 if (likely(vcpu->arch.mmu->root_hpa != INVALID_PAGE)) in kvm_mmu_reload() 93 u64 root_hpa = vcpu->arch.mmu->root_hpa; in kvm_mmu_load_pgd() local 95 if (!VALID_PAGE(root_hpa)) in kvm_mmu_load_pgd() 98 kvm_x86_ops.load_mmu_pgd(vcpu, root_hpa | kvm_get_active_pcid(vcpu), in kvm_mmu_load_pgd()
|
H A D | x86.c | 684 fault_mmu->root_hpa); in kvm_inject_emulated_page_fault()
|
/kernel/linux/linux-6.6/arch/x86/kvm/ |
H A D | mmu.h | 151 u64 root_hpa = vcpu->arch.mmu->root.hpa; in kvm_mmu_load_pgd() local 153 if (!VALID_PAGE(root_hpa)) in kvm_mmu_load_pgd() 156 static_call(kvm_x86_load_mmu_pgd)(vcpu, root_hpa, in kvm_mmu_load_pgd()
|
/kernel/linux/linux-5.10/arch/x86/kvm/mmu/ |
H A D | mmu.c | 2131 * the active root_hpa is valid here. in shadow_walk_init_using_root() 2133 BUG_ON(root != vcpu->arch.mmu->root_hpa); in shadow_walk_init_using_root() 2147 shadow_walk_init_using_root(iterator, vcpu, vcpu->arch.mmu->root_hpa, in shadow_walk_init() 2864 if (WARN_ON(!VALID_PAGE(vcpu->arch.mmu->root_hpa))) in __direct_map() 3134 static void mmu_free_root_page(struct kvm *kvm, hpa_t *root_hpa, in mmu_free_root_page() argument 3139 if (!VALID_PAGE(*root_hpa)) in mmu_free_root_page() 3142 sp = to_shadow_page(*root_hpa & PT64_BASE_ADDR_MASK); in mmu_free_root_page() 3153 *root_hpa = INVALID_PAGE; in mmu_free_root_page() 3168 if (!(free_active_root && VALID_PAGE(mmu->root_hpa))) { in kvm_mmu_free_roots() 3188 mmu_free_root_page(kvm, &mmu->root_hpa, in kvm_mmu_free_roots() 5126 kvm_mmu_invalidate_gva(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, gva_t gva, hpa_t root_hpa) kvm_mmu_invalidate_gva() argument [all...] |
H A D | mmu_audit.c | 59 if (!VALID_PAGE(vcpu->arch.mmu->root_hpa)) in mmu_spte_walk() 63 hpa_t root = vcpu->arch.mmu->root_hpa; in mmu_spte_walk()
|
H A D | tdp_mmu.c | 404 for_each_tdp_pte(_iter, __va(_mmu->root_hpa), \ 591 if (WARN_ON(!VALID_PAGE(vcpu->arch.mmu->root_hpa))) in kvm_tdp_mmu_map() 593 if (WARN_ON(!is_tdp_mmu_root(vcpu->kvm, vcpu->arch.mmu->root_hpa))) in kvm_tdp_mmu_map()
|
H A D | paging_tmpl.h | 655 if (WARN_ON(!VALID_PAGE(vcpu->arch.mmu->root_hpa))) in fetch() 901 static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa) in invlpg() argument 917 if (!VALID_PAGE(root_hpa)) { in invlpg() 923 for_each_shadow_entry_using_root(vcpu, root_hpa, gva, iterator) { in invlpg()
|
/kernel/linux/linux-6.6/arch/x86/kvm/mmu/ |
H A D | mmu.c | 2376 * the active root_hpa is valid here. in shadow_walk_init_using_root() 3538 static void mmu_free_root_page(struct kvm *kvm, hpa_t *root_hpa, in mmu_free_root_page() argument 3543 if (!VALID_PAGE(*root_hpa)) in mmu_free_root_page() 3546 sp = root_to_sp(*root_hpa); in mmu_free_root_page() 3555 *root_hpa = INVALID_PAGE; in mmu_free_root_page() 3619 hpa_t root_hpa; in kvm_mmu_free_guest_mode_roots() local 3629 root_hpa = mmu->prev_roots[i].hpa; in kvm_mmu_free_guest_mode_roots() 3630 if (!VALID_PAGE(root_hpa)) in kvm_mmu_free_guest_mode_roots() 3633 sp = root_to_sp(root_hpa); in kvm_mmu_free_guest_mode_roots() 5498 static bool is_obsolete_root(struct kvm *kvm, hpa_t root_hpa) in is_obsolete_root() argument 5768 __kvm_mmu_invalidate_addr(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, u64 addr, hpa_t root_hpa) __kvm_mmu_invalidate_addr() argument [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | kvm_host.h | 361 void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa); 362 hpa_t root_hpa; member 1571 gva_t gva, hpa_t root_hpa);
|
/kernel/linux/linux-5.10/arch/x86/kvm/vmx/ |
H A D | vmx.h | 355 u64 construct_eptp(struct kvm_vcpu *vcpu, unsigned long root_hpa,
|
H A D | vmx.c | 3007 u64 root_hpa = mmu->root_hpa; in vmx_flush_tlb_current() local 3010 if (!VALID_PAGE(root_hpa)) in vmx_flush_tlb_current() 3014 ept_sync_context(construct_eptp(vcpu, root_hpa, in vmx_flush_tlb_current() 3162 u64 construct_eptp(struct kvm_vcpu *vcpu, unsigned long root_hpa, in construct_eptp() argument 3172 eptp |= (root_hpa & PAGE_MASK); in construct_eptp()
|
H A D | nested.c | 5397 static bool nested_ept_root_matches(hpa_t root_hpa, u64 root_eptp, u64 eptp) in nested_ept_root_matches() argument 5399 return VALID_PAGE(root_hpa) && in nested_ept_root_matches() 5458 if (nested_ept_root_matches(mmu->root_hpa, mmu->root_pgd, in handle_invept()
|
/kernel/linux/linux-6.6/arch/x86/kvm/vmx/ |
H A D | vmx.h | 398 u64 construct_eptp(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level);
|
H A D | vmx.c | 3202 u64 root_hpa = mmu->root.hpa; in vmx_flush_tlb_current() local 3205 if (!VALID_PAGE(root_hpa)) in vmx_flush_tlb_current() 3209 ept_sync_context(construct_eptp(vcpu, root_hpa, in vmx_flush_tlb_current() 3376 u64 construct_eptp(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) in construct_eptp() argument 3385 eptp |= root_hpa; in construct_eptp() 3390 static void vmx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, in vmx_load_mmu_pgd() argument 3399 eptp = construct_eptp(vcpu, root_hpa, root_level); in vmx_load_mmu_pgd() 3402 hv_track_root_tdp(vcpu, root_hpa); in vmx_load_mmu_pgd() 3412 guest_cr3 = root_hpa | kvm_get_active_pcid(vcpu); in vmx_load_mmu_pgd()
|
H A D | nested.c | 352 static bool nested_ept_root_matches(hpa_t root_hpa, u64 root_eptp, u64 eptp) in nested_ept_root_matches() argument 354 return VALID_PAGE(root_hpa) && in nested_ept_root_matches()
|
/kernel/linux/linux-6.6/arch/x86/kvm/svm/ |
H A D | svm.c | 4257 static void svm_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, in svm_load_mmu_pgd() argument 4264 svm->vmcb->control.nested_cr3 = __sme_set(root_hpa); in svm_load_mmu_pgd() 4267 hv_track_root_tdp(vcpu, root_hpa); in svm_load_mmu_pgd() 4271 cr3 = __sme_set(root_hpa) | kvm_get_active_pcid(vcpu); in svm_load_mmu_pgd() 4275 cr3 = root_hpa; in svm_load_mmu_pgd()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | kvm_host.h | 1668 void (*load_mmu_pgd)(struct kvm_vcpu *vcpu, hpa_t root_hpa,
|