Lines Matching refs:addr

103 static int find_num_contig(struct mm_struct *mm, unsigned long addr,
106 pgd_t *pgdp = pgd_offset(mm, addr);
112 p4dp = p4d_offset(pgdp, addr);
113 pudp = pud_offset(p4dp, addr);
114 pmdp = pmd_offset(pudp, addr);
157 unsigned long addr,
164 unsigned long i, saddr = addr;
166 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) {
167 pte_t pte = ptep_get_and_clear(mm, addr, ptep);
183 flush_tlb_range(&vma, saddr, addr);
198 unsigned long addr,
204 unsigned long i, saddr = addr;
206 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++)
207 pte_clear(mm, addr, ptep);
209 flush_tlb_range(&vma, saddr, addr);
212 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
228 set_pte_at(mm, addr, ptep, pte);
232 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
237 clear_flush(mm, addr, ptep, pgsize, ncontig);
239 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
240 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot));
243 void set_huge_swap_pte_at(struct mm_struct *mm, unsigned long addr,
256 unsigned long addr, unsigned long sz)
264 pgdp = pgd_offset(mm, addr);
265 p4dp = p4d_offset(pgdp, addr);
266 pudp = pud_alloc(mm, p4dp, addr);
273 pmdp = pmd_alloc(mm, pudp, addr);
277 WARN_ON(addr & (sz - 1));
285 ptep = pte_alloc_map(mm, pmdp, addr);
289 ptep = huge_pmd_share(mm, addr, pudp);
291 ptep = (pte_t *)pmd_alloc(mm, pudp, addr);
293 pmdp = pmd_alloc(mm, pudp, addr);
294 WARN_ON(addr & (sz - 1));
302 unsigned long addr, unsigned long sz)
309 pgdp = pgd_offset(mm, addr);
313 p4dp = p4d_offset(pgdp, addr);
317 pudp = pud_offset(p4dp, addr);
327 addr &= CONT_PMD_MASK;
329 pmdp = pmd_offset(pudp, addr);
338 return pte_offset_kernel(pmdp, (addr & CONT_PTE_MASK));
359 void huge_pte_clear(struct mm_struct *mm, unsigned long addr,
367 for (i = 0; i < ncontig; i++, addr += pgsize, ptep++)
368 pte_clear(mm, addr, ptep);
372 unsigned long addr, pte_t *ptep)
379 return ptep_get_and_clear(mm, addr, ptep);
381 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
383 return get_clear_flush(mm, addr, ptep, pgsize, ncontig);
416 unsigned long addr, pte_t *ptep,
426 return ptep_set_access_flags(vma, addr, ptep, pte, dirty);
428 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize);
434 orig_pte = get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig);
444 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
445 set_pte_at(vma->vm_mm, addr, ptep, pfn_pte(pfn, hugeprot));
451 unsigned long addr, pte_t *ptep)
460 ptep_set_wrprotect(mm, addr, ptep);
464 ncontig = find_num_contig(mm, addr, ptep, &pgsize);
467 pte = get_clear_flush(mm, addr, ptep, pgsize, ncontig);
473 for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
474 set_pte_at(mm, addr, ptep, pfn_pte(pfn, hugeprot));
478 unsigned long addr, pte_t *ptep)
484 ptep_clear_flush(vma, addr, ptep);
488 ncontig = find_num_contig(vma->vm_mm, addr, ptep, &pgsize);
489 clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig);