/arch/x86/kvm/mmu/ |
D | paging_tmpl.h | 199 struct guest_walker *walker, in FNAME() 212 for (level = walker->max_level; level >= walker->level; --level) { in FNAME() 213 pte = orig_pte = walker->ptes[level - 1]; in FNAME() 214 table_gfn = walker->table_gfn[level - 1]; in FNAME() 215 ptep_user = walker->ptep_user[level - 1]; in FNAME() 221 if (level == walker->level && write_fault && in FNAME() 246 if (unlikely(!walker->pte_writable[level - 1])) in FNAME() 254 walker->ptes[level - 1] = pte; in FNAME() 302 static int FNAME(walk_addr_generic)(struct guest_walker *walker, in FNAME() 326 walker->level = mmu->cpu_role.base.level; in FNAME() [all …]
|
/arch/arm64/kvm/hyp/ |
D | pgtable.c | 23 struct kvm_pgtable_walker *walker; member 118 struct kvm_pgtable_walker *walker = data->walker; in kvm_pgtable_visitor_cb() local 122 return walker->cb(ctx, visit); in kvm_pgtable_visitor_cb() 125 static bool kvm_pgtable_walk_continue(const struct kvm_pgtable_walker *walker, in kvm_pgtable_walk_continue() argument 139 return !(walker->flags & KVM_PGTABLE_WALK_HANDLE_FAULT); in kvm_pgtable_walk_continue() 154 enum kvm_pgtable_walk_flags flags = data->walker->flags; in __kvm_pgtable_visit() 155 kvm_pte_t *ptep = kvm_dereference_pteref(data->walker, pteref); in __kvm_pgtable_visit() 159 .arg = data->walker->arg, in __kvm_pgtable_visit() 193 if (!kvm_pgtable_walk_continue(data->walker, ret)) in __kvm_pgtable_visit() 204 if (!kvm_pgtable_walk_continue(data->walker, ret)) in __kvm_pgtable_visit() [all …]
|
/arch/arm64/include/asm/ |
D | kvm_pgtable.h | 395 static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walker, in kvm_dereference_pteref() argument 401 static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker) in kvm_pgtable_walk_begin() argument 407 if (walker->flags & KVM_PGTABLE_WALK_SHARED) in kvm_pgtable_walk_begin() 413 static inline void kvm_pgtable_walk_end(struct kvm_pgtable_walker *walker) {} in kvm_pgtable_walk_end() argument 424 static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walker, in kvm_dereference_pteref() argument 427 return rcu_dereference_check(pteref, !(walker->flags & KVM_PGTABLE_WALK_SHARED)); in kvm_dereference_pteref() 430 static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker) in kvm_pgtable_walk_begin() argument 432 if (walker->flags & KVM_PGTABLE_WALK_SHARED) in kvm_pgtable_walk_begin() 438 static inline void kvm_pgtable_walk_end(struct kvm_pgtable_walker *walker) in kvm_pgtable_walk_end() argument 440 if (walker->flags & KVM_PGTABLE_WALK_SHARED) in kvm_pgtable_walk_end() [all …]
|
/arch/arm64/kvm/hyp/nvhe/ |
D | setup.c | 272 struct kvm_pgtable_walker walker = { in pin_host_tables() local 278 return kvm_pgtable_walk(&host_mmu.pgt, 0, BIT(host_mmu.pgt.ia_bits), &walker); in pin_host_tables() 283 struct kvm_pgtable_walker walker = { in fix_host_ownership() local 293 ret = kvm_pgtable_walk(&pkvm_pgtable, start, reg->size, &walker); in fix_host_ownership() 303 struct kvm_pgtable_walker walker = { in fix_hyp_pgtable_refcnt() local 310 &walker); in fix_hyp_pgtable_refcnt()
|
D | mm.c | 386 struct kvm_pgtable_walker walker = { in create_fixmap_slot() local 392 return kvm_pgtable_walk(&pkvm_pgtable, addr, PAGE_SIZE, &walker); in create_fixmap_slot() 415 struct kvm_pgtable_walker walker = { in create_fixblock() local 445 ret = kvm_pgtable_walk(&pkvm_pgtable, addr, PMD_SIZE, &walker); in create_fixblock()
|
D | mem_protect.c | 417 struct kvm_pgtable_walker walker = { in __pkvm_guest_relinquish_to_host() local 437 ret = kvm_pgtable_walk(&vm->pgt, ipa, PAGE_SIZE, &walker); in __pkvm_guest_relinquish_to_host() 1027 struct kvm_pgtable_walker walker = { in check_page_state_range() local 1033 return kvm_pgtable_walk(pgt, addr, size, &walker); in check_page_state_range() 1584 struct kvm_pgtable_walker walker = { in __guest_request_page_transition() local 1593 tx->nr_pages * PAGE_SIZE, &walker); in __guest_request_page_transition() 2872 struct kvm_pgtable_walker walker = { in __pkvm_install_ioguard_page() local 2890 ret = kvm_pgtable_walk(&vm->pgt, ipa, size, &walker); in __pkvm_install_ioguard_page() 2917 struct kvm_pgtable_walker walker = { in __pkvm_remove_ioguard_page() local 2933 ret = kvm_pgtable_walk(&vm->pgt, ipa, size, &walker); in __pkvm_remove_ioguard_page()
|
/arch/arm64/kvm/hyp/nvhe/iommu/ |
D | iommu.c | 612 struct kvm_pgtable_walker walker = { in kvm_iommu_snapshot_host_stage2() local 620 ret = kvm_pgtable_walk(pgt, 0, BIT(pgt->ia_bits), &walker); in kvm_iommu_snapshot_host_stage2()
|
/arch/arm64/kvm/ |
D | ptdump.c | 104 struct kvm_pgtable_walker walker = (struct kvm_pgtable_walker) { in kvm_ptdump_show_common() local 113 return kvm_pgtable_walk(pgtable, 0, BIT(pgtable->ia_bits), &walker); in kvm_ptdump_show_common()
|