Lines Matching refs:vmaddr
298 static int __gmap_unlink_by_vmaddr(struct gmap *gmap, unsigned long vmaddr) in __gmap_unlink_by_vmaddr() argument
304 entry = radix_tree_delete(&gmap->host_to_guest, vmaddr >> PMD_SHIFT); in __gmap_unlink_by_vmaddr()
322 unsigned long vmaddr; in __gmap_unmap_by_gaddr() local
324 vmaddr = (unsigned long) radix_tree_delete(&gmap->guest_to_host, in __gmap_unmap_by_gaddr()
326 return vmaddr ? __gmap_unlink_by_vmaddr(gmap, vmaddr) : 0; in __gmap_unmap_by_gaddr()
413 unsigned long vmaddr; in __gmap_translate() local
415 vmaddr = (unsigned long) in __gmap_translate()
417 return vmaddr ? (vmaddr | (gaddr & ~PMD_MASK)) : -EFAULT; in __gmap_translate()
448 unsigned long vmaddr) in gmap_unlink() argument
454 flush = __gmap_unlink_by_vmaddr(gmap, vmaddr); in gmap_unlink()
471 int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr) in __gmap_link() argument
510 pgd = pgd_offset(mm, vmaddr); in __gmap_link()
512 pud = pud_offset(pgd, vmaddr); in __gmap_link()
514 pmd = pmd_offset(pud, vmaddr); in __gmap_link()
527 vmaddr >> PMD_SHIFT, table); in __gmap_link()
550 unsigned long vmaddr; in gmap_fault() local
554 vmaddr = __gmap_translate(gmap, gaddr); in gmap_fault()
555 if (IS_ERR_VALUE(vmaddr)) { in gmap_fault()
556 rc = vmaddr; in gmap_fault()
559 if (fixup_user_fault(current, gmap->mm, vmaddr, fault_flags)) { in gmap_fault()
563 rc = __gmap_link(gmap, gaddr, vmaddr); in gmap_fault()
590 unsigned long vmaddr, ptev, pgstev; in __gmap_zap() local
596 vmaddr = (unsigned long) radix_tree_lookup(&gmap->guest_to_host, in __gmap_zap()
598 if (!vmaddr) in __gmap_zap()
600 vmaddr |= gaddr & ~PMD_MASK; in __gmap_zap()
602 ptep = get_locked_pte(gmap->mm, vmaddr, &ptl); in __gmap_zap()
615 pte_clear(gmap->mm, vmaddr, ptep); in __gmap_zap()
625 unsigned long gaddr, vmaddr, size; in gmap_discard() local
632 vmaddr = (unsigned long) in gmap_discard()
635 if (!vmaddr) in gmap_discard()
637 vmaddr |= gaddr & ~PMD_MASK; in gmap_discard()
639 vma = find_vma(gmap->mm, vmaddr); in gmap_discard()
641 zap_page_range(vma, vmaddr, size, NULL); in gmap_discard()
739 void gmap_do_ipte_notify(struct mm_struct *mm, unsigned long vmaddr, pte_t *pte) in gmap_do_ipte_notify() argument
751 vmaddr >> PMD_SHIFT); in gmap_do_ipte_notify()
891 unsigned long vmaddr) in gmap_unlink() argument
991 unsigned long vmaddr) in page_table_free_rcu() argument
1000 gmap_unlink(mm, table, vmaddr); in page_table_free_rcu()