Lines Matching refs:addr
27 unsigned long addr,
45 addr = vm_unmapped_area(&info);
47 if ((addr & ~PAGE_MASK) && task_size > VA_EXCLUDE_END) {
48 VM_BUG_ON(addr != -ENOMEM);
51 addr = vm_unmapped_area(&info);
54 return addr;
65 unsigned long addr = addr0;
77 addr = vm_unmapped_area(&info);
85 if (addr & ~PAGE_MASK) {
86 VM_BUG_ON(addr != -ENOMEM);
90 addr = vm_unmapped_area(&info);
93 return addr;
97 hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
114 if (prepare_hugepage_range(file, addr, len))
116 return addr;
119 if (addr) {
120 addr = ALIGN(addr, huge_page_size(h));
121 vma = find_vma(mm, addr);
122 if (task_size - len >= addr &&
123 (!vma || addr + len <= vm_start_gap(vma)))
124 return addr;
127 return hugetlb_get_unmapped_area_bottomup(file, addr, len,
130 return hugetlb_get_unmapped_area_topdown(file, addr, len,
276 unsigned long addr, unsigned long sz)
283 pgd = pgd_offset(mm, addr);
284 p4d = p4d_offset(pgd, addr);
285 pud = pud_alloc(mm, p4d, addr);
290 pmd = pmd_alloc(mm, pud, addr);
295 return pte_alloc_map(mm, pmd, addr);
299 unsigned long addr, unsigned long sz)
306 pgd = pgd_offset(mm, addr);
309 p4d = p4d_offset(pgd, addr);
312 pud = pud_offset(p4d, addr);
317 pmd = pmd_offset(pud, addr);
322 return pte_offset_map(pmd, addr);
325 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
347 addr &= ~(size - 1);
354 maybe_tlb_batch_add(mm, addr, ptep, orig, 0, orig_shift);
357 maybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, orig, 0,
361 pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
385 addr &= ~(size - 1);
389 maybe_tlb_batch_add(mm, addr, ptep, entry, 0, orig_shift);
392 maybe_tlb_batch_add(mm, addr + REAL_HPAGE_SIZE, ptep, entry, 0,
411 unsigned long addr)
416 pte_free_tlb(tlb, token, addr);
421 unsigned long addr, unsigned long end,
428 start = addr;
429 pmd = pmd_offset(pud, addr);
431 next = pmd_addr_end(addr, end);
437 hugetlb_free_pte_range(tlb, pmd, addr);
438 } while (pmd++, addr = next, addr != end);
458 unsigned long addr, unsigned long end,
465 start = addr;
466 pud = pud_offset(p4d, addr);
468 next = pud_addr_end(addr, end);
474 hugetlb_free_pmd_range(tlb, pud, addr, next, floor,
476 } while (pud++, addr = next, addr != end);
496 unsigned long addr, unsigned long end,
503 addr &= PMD_MASK;
504 if (addr < floor) {
505 addr += PMD_SIZE;
506 if (!addr)
516 if (addr > end - 1)
519 pgd = pgd_offset(tlb->mm, addr);
520 p4d = p4d_offset(pgd, addr);
522 next = p4d_addr_end(addr, end);
525 hugetlb_free_pud_range(tlb, p4d, addr, next, floor, ceiling);
526 } while (p4d++, addr = next, addr != end);