Lines Matching refs:vmaddr
334 static int __gmap_unlink_by_vmaddr(struct gmap *gmap, unsigned long vmaddr) in __gmap_unlink_by_vmaddr() argument
340 entry = radix_tree_delete(&gmap->host_to_guest, vmaddr >> PMD_SHIFT); in __gmap_unlink_by_vmaddr()
358 unsigned long vmaddr; in __gmap_unmap_by_gaddr() local
360 vmaddr = (unsigned long) radix_tree_delete(&gmap->guest_to_host, in __gmap_unmap_by_gaddr()
362 return vmaddr ? __gmap_unlink_by_vmaddr(gmap, vmaddr) : 0; in __gmap_unmap_by_gaddr()
449 unsigned long vmaddr; in __gmap_translate() local
451 vmaddr = (unsigned long) in __gmap_translate()
453 return vmaddr ? (vmaddr | (gaddr & ~PMD_MASK)) : -EFAULT; in __gmap_translate()
484 unsigned long vmaddr) in gmap_unlink() argument
490 flush = __gmap_unlink_by_vmaddr(gmap, vmaddr); in gmap_unlink()
507 int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr) in __gmap_link() argument
546 pgd = pgd_offset(mm, vmaddr); in __gmap_link()
548 pud = pud_offset(pgd, vmaddr); in __gmap_link()
550 pmd = pmd_offset(pud, vmaddr); in __gmap_link()
563 vmaddr >> PMD_SHIFT, table); in __gmap_link()
586 unsigned long vmaddr; in gmap_fault() local
590 vmaddr = __gmap_translate(gmap, gaddr); in gmap_fault()
591 if (IS_ERR_VALUE(vmaddr)) { in gmap_fault()
592 rc = vmaddr; in gmap_fault()
595 if (fixup_user_fault(current, gmap->mm, vmaddr, fault_flags)) { in gmap_fault()
599 rc = __gmap_link(gmap, gaddr, vmaddr); in gmap_fault()
626 unsigned long vmaddr, ptev, pgstev; in __gmap_zap() local
632 vmaddr = (unsigned long) radix_tree_lookup(&gmap->guest_to_host, in __gmap_zap()
634 if (!vmaddr) in __gmap_zap()
636 vmaddr |= gaddr & ~PMD_MASK; in __gmap_zap()
638 ptep = get_locked_pte(gmap->mm, vmaddr, &ptl); in __gmap_zap()
651 pte_clear(gmap->mm, vmaddr, ptep); in __gmap_zap()
661 unsigned long gaddr, vmaddr, size; in gmap_discard() local
668 vmaddr = (unsigned long) in gmap_discard()
671 if (!vmaddr) in gmap_discard()
673 vmaddr |= gaddr & ~PMD_MASK; in gmap_discard()
675 vma = find_vma(gmap->mm, vmaddr); in gmap_discard()
677 zap_page_range(vma, vmaddr, size, NULL); in gmap_discard()
775 void gmap_do_ipte_notify(struct mm_struct *mm, unsigned long vmaddr, pte_t *pte) in gmap_do_ipte_notify() argument
787 vmaddr >> PMD_SHIFT); in gmap_do_ipte_notify()
975 unsigned long vmaddr) in gmap_unlink() argument
1078 unsigned long vmaddr) in page_table_free_rcu() argument
1087 gmap_unlink(mm, table, vmaddr); in page_table_free_rcu()