Lines Matching full:mapping
288 struct pkvm_mapping *mapping; in find_first_mapping_node() local
291 mapping = rb_entry(node, struct pkvm_mapping, node); in find_first_mapping_node()
292 if (mapping->gfn == gfn) in find_first_mapping_node()
295 node = (gfn < mapping->gfn) ? node->rb_left : node->rb_right; in find_first_mapping_node()
333 struct pkvm_mapping *mapping; in pkvm_pgtable_stage2_destroy() local
341 mapping = rb_entry(node, struct pkvm_mapping, node); in pkvm_pgtable_stage2_destroy()
342 kvm_call_hyp_nvhe(__pkvm_host_unshare_guest, handle, mapping->gfn); in pkvm_pgtable_stage2_destroy()
344 rb_erase(&mapping->node, &pgt->pkvm_mappings); in pkvm_pgtable_stage2_destroy()
345 kfree(mapping); in pkvm_pgtable_stage2_destroy()
354 struct pkvm_mapping *mapping = NULL; in pkvm_pgtable_stage2_map() local
371 swap(mapping, cache->mapping); in pkvm_pgtable_stage2_map()
372 mapping->gfn = gfn; in pkvm_pgtable_stage2_map()
373 mapping->pfn = pfn; in pkvm_pgtable_stage2_map()
374 WARN_ON(rb_find_add(&mapping->node, &pgt->pkvm_mappings, cmp_mappings)); in pkvm_pgtable_stage2_map()
383 struct pkvm_mapping *mapping; in pkvm_pgtable_stage2_unmap() local
387 for_each_mapping_in_range_safe(pgt, addr, addr + size, mapping) { in pkvm_pgtable_stage2_unmap()
388 ret = kvm_call_hyp_nvhe(__pkvm_host_unshare_guest, handle, mapping->gfn); in pkvm_pgtable_stage2_unmap()
391 rb_erase(&mapping->node, &pgt->pkvm_mappings); in pkvm_pgtable_stage2_unmap()
392 kfree(mapping); in pkvm_pgtable_stage2_unmap()
402 struct pkvm_mapping *mapping; in pkvm_pgtable_stage2_wrprotect() local
406 for_each_mapping_in_range_safe(pgt, addr, addr + size, mapping) { in pkvm_pgtable_stage2_wrprotect()
407 ret = kvm_call_hyp_nvhe(__pkvm_host_wrprotect_guest, handle, mapping->gfn); in pkvm_pgtable_stage2_wrprotect()
418 struct pkvm_mapping *mapping; in pkvm_pgtable_stage2_flush() local
421 for_each_mapping_in_range_safe(pgt, addr, addr + size, mapping) in pkvm_pgtable_stage2_flush()
422 __clean_dcache_guest_page(pfn_to_kaddr(mapping->pfn), PAGE_SIZE); in pkvm_pgtable_stage2_flush()
431 struct pkvm_mapping *mapping; in pkvm_pgtable_stage2_test_clear_young() local
435 for_each_mapping_in_range_safe(pgt, addr, addr + size, mapping) in pkvm_pgtable_stage2_test_clear_young()
436 young |= kvm_call_hyp_nvhe(__pkvm_host_test_clear_young_guest, handle, mapping->gfn, in pkvm_pgtable_stage2_test_clear_young()