Home
last modified time | relevance | path

Searched refs:walker (Results 1 – 8 of 8) sorted by relevance

/arch/x86/kvm/mmu/
Dpaging_tmpl.h199 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/
Dpgtable.c23 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/
Dkvm_pgtable.h395 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/
Dsetup.c272 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()
Dmm.c386 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()
Dmem_protect.c417 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/
Diommu.c612 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/
Dptdump.c104 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()