Lines Matching refs:vma

84 	struct vm_area_struct *vma;  member
241 unsigned int pgnr = (addr - map->vma->vm_start) >> PAGE_SHIFT; in find_grant_ptes()
397 static void gntdev_vma_open(struct vm_area_struct *vma) in gntdev_vma_open() argument
399 struct grant_map *map = vma->vm_private_data; in gntdev_vma_open()
401 pr_debug("gntdev_vma_open %p\n", vma); in gntdev_vma_open()
405 static void gntdev_vma_close(struct vm_area_struct *vma) in gntdev_vma_close() argument
407 struct grant_map *map = vma->vm_private_data; in gntdev_vma_close()
408 struct file *file = vma->vm_file; in gntdev_vma_close()
411 pr_debug("gntdev_vma_close %p\n", vma); in gntdev_vma_close()
421 map->vma = NULL; in gntdev_vma_close()
424 vma->vm_private_data = NULL; in gntdev_vma_close()
428 static struct page *gntdev_vma_find_special_page(struct vm_area_struct *vma, in gntdev_vma_find_special_page() argument
431 struct grant_map *map = vma->vm_private_data; in gntdev_vma_find_special_page()
450 if (!map->vma) in unmap_if_in_range()
452 if (map->vma->vm_start >= end) in unmap_if_in_range()
454 if (map->vma->vm_end <= start) in unmap_if_in_range()
456 mstart = max(start, map->vma->vm_start); in unmap_if_in_range()
457 mend = min(end, map->vma->vm_end); in unmap_if_in_range()
460 map->vma->vm_start, map->vma->vm_end, in unmap_if_in_range()
463 (mstart - map->vma->vm_start) >> PAGE_SHIFT, in unmap_if_in_range()
501 if (!map->vma) in mn_release()
505 map->vma->vm_start, map->vma->vm_end); in mn_release()
510 if (!map->vma) in mn_release()
514 map->vma->vm_start, map->vma->vm_end); in mn_release()
656 struct vm_area_struct *vma; in gntdev_ioctl_get_offset_for_vaddr() local
665 vma = find_vma(current->mm, op.vaddr); in gntdev_ioctl_get_offset_for_vaddr()
666 if (!vma || vma->vm_ops != &gntdev_vmops) in gntdev_ioctl_get_offset_for_vaddr()
669 map = vma->vm_private_data; in gntdev_ioctl_get_offset_for_vaddr()
778 static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) in gntdev_mmap() argument
781 int index = vma->vm_pgoff; in gntdev_mmap()
782 int count = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; in gntdev_mmap()
786 if ((vma->vm_flags & VM_WRITE) && !(vma->vm_flags & VM_SHARED)) in gntdev_mmap()
790 index, count, vma->vm_start, vma->vm_pgoff); in gntdev_mmap()
796 if (use_ptemod && map->vma) in gntdev_mmap()
798 if (use_ptemod && priv->mm != vma->vm_mm) { in gntdev_mmap()
805 vma->vm_ops = &gntdev_vmops; in gntdev_mmap()
807 vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_IO; in gntdev_mmap()
810 vma->vm_flags |= VM_DONTCOPY; in gntdev_mmap()
812 vma->vm_private_data = map; in gntdev_mmap()
815 map->vma = vma; in gntdev_mmap()
818 if ((vma->vm_flags & VM_WRITE) && in gntdev_mmap()
823 if (!(vma->vm_flags & VM_WRITE)) in gntdev_mmap()
830 err = apply_to_page_range(vma->vm_mm, vma->vm_start, in gntdev_mmap()
831 vma->vm_end - vma->vm_start, in gntdev_mmap()
845 err = vm_insert_page(vma, vma->vm_start + i*PAGE_SIZE, in gntdev_mmap()
862 apply_to_page_range(vma->vm_mm, vma->vm_start, in gntdev_mmap()
863 vma->vm_end - vma->vm_start, in gntdev_mmap()
867 map->pages_vm_start = vma->vm_start; in gntdev_mmap()
880 map->vma = NULL; in gntdev_mmap()