Lines Matching refs:walker
63 struct kvm_pgtable_walker *walker; member
179 struct kvm_pgtable_walker *walker = data->walker; in kvm_pgtable_visitor_cb() local
183 return walker->cb(ctx, visit); in kvm_pgtable_visitor_cb()
186 static bool kvm_pgtable_walk_continue(const struct kvm_pgtable_walker *walker, in kvm_pgtable_walk_continue() argument
200 return !(walker->flags & KVM_PGTABLE_WALK_HANDLE_FAULT); in kvm_pgtable_walk_continue()
212 enum kvm_pgtable_walk_flags flags = data->walker->flags; in __kvm_pgtable_visit()
213 kvm_pte_t *ptep = kvm_dereference_pteref(data->walker, pteref); in __kvm_pgtable_visit()
217 .arg = data->walker->arg, in __kvm_pgtable_visit()
250 if (!kvm_pgtable_walk_continue(data->walker, ret)) in __kvm_pgtable_visit()
261 if (!kvm_pgtable_walk_continue(data->walker, ret)) in __kvm_pgtable_visit()
268 if (kvm_pgtable_walk_continue(data->walker, ret)) in __kvm_pgtable_visit()
321 struct kvm_pgtable_walker *walker) in kvm_pgtable_walk() argument
327 .walker = walker, in kvm_pgtable_walk()
331 r = kvm_pgtable_walk_begin(walker); in kvm_pgtable_walk()
336 kvm_pgtable_walk_end(walker); in kvm_pgtable_walk()
361 struct kvm_pgtable_walker walker = { in kvm_pgtable_get_leaf() local
369 PAGE_SIZE, &walker); in kvm_pgtable_get_leaf()
491 struct kvm_pgtable_walker walker = { in kvm_pgtable_hyp_map() local
501 ret = kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_hyp_map()
550 struct kvm_pgtable_walker walker = { in kvm_pgtable_hyp_unmap() local
559 kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_hyp_unmap()
599 struct kvm_pgtable_walker walker = { in kvm_pgtable_hyp_destroy() local
604 WARN_ON(kvm_pgtable_walk(pgt, 0, BIT(pgt->ia_bits), &walker)); in kvm_pgtable_hyp_destroy()
605 pgt->mm_ops->put_page(kvm_dereference_pteref(&walker, pgt->pgd)); in kvm_pgtable_hyp_destroy()
1045 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_map() local
1060 ret = kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_stage2_map()
1076 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_set_owner() local
1086 ret = kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_stage2_set_owner()
1136 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_unmap() local
1142 ret = kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_stage2_unmap()
1205 struct kvm_pgtable_walker walker = { in stage2_update_leaf_attrs() local
1211 ret = kvm_pgtable_walk(pgt, addr, size, &walker); in stage2_update_leaf_attrs()
1285 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_test_clear_young() local
1291 WARN_ON(kvm_pgtable_walk(pgt, addr, size, &walker)); in kvm_pgtable_stage2_test_clear_young()
1339 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_flush() local
1348 return kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_stage2_flush()
1362 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_create_unlinked() local
1375 .walker = &walker, in kvm_pgtable_stage2_create_unlinked()
1499 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_split() local
1505 return kvm_pgtable_walk(pgt, addr, size, &walker); in kvm_pgtable_stage2_split()
1564 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_destroy() local
1570 WARN_ON(kvm_pgtable_walk(pgt, 0, BIT(pgt->ia_bits), &walker)); in kvm_pgtable_stage2_destroy()
1572 pgt->mm_ops->free_pages_exact(kvm_dereference_pteref(&walker, pgt->pgd), pgd_sz); in kvm_pgtable_stage2_destroy()
1579 struct kvm_pgtable_walker walker = { in kvm_pgtable_stage2_free_unlinked() local
1585 .walker = &walker, in kvm_pgtable_stage2_free_unlinked()