Lines Matching refs:addr
32 static void vmem_free_pages(unsigned long addr, int order)
36 WARN_ON_ONCE(PageReserved(phys_to_page(addr))))
38 free_pages(addr, order);
151 static int __ref modify_pte_table(pmd_t *pmd, unsigned long addr,
162 pte = pte_offset_kernel(pmd, addr);
163 for (; addr < end; addr += PAGE_SIZE, pte++) {
169 pte_clear(&init_mm, addr, pte);
178 pte_val(*pte) = addr | prot;
208 static int __ref modify_pmd_table(pud_t *pud, unsigned long addr,
220 pmd = pmd_offset(pud, addr);
221 for (; addr < end; addr = next, pmd++) {
222 next = pmd_addr_end(addr, end);
227 if (IS_ALIGNED(addr, PMD_SIZE) &&
233 } else if (!direct && vmemmap_unuse_sub_pmd(addr, next)) {
240 if (IS_ALIGNED(addr, PMD_SIZE) &&
242 MACHINE_HAS_EDAT1 && addr && direct &&
244 pmd_val(*pmd) = addr | prot;
260 if (!IS_ALIGNED(addr, PMD_SIZE) ||
262 vmemmap_use_new_sub_pmd(addr, next);
273 vmemmap_use_sub_pmd(addr, next);
276 ret = modify_pte_table(pmd, addr, next, add, direct);
280 try_free_pte_table(pmd, addr & PMD_MASK);
310 static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end,
321 pud = pud_offset(p4d, addr);
322 for (; addr < end; addr = next, pud++) {
323 next = pud_addr_end(addr, end);
328 if (IS_ALIGNED(addr, PUD_SIZE) &&
336 if (IS_ALIGNED(addr, PUD_SIZE) &&
338 MACHINE_HAS_EDAT2 && addr && direct &&
340 pud_val(*pud) = addr | prot;
351 ret = modify_pmd_table(pud, addr, next, add, direct);
355 try_free_pmd_table(pud, addr & PUD_MASK);
387 static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end,
395 p4d = p4d_offset(pgd, addr);
396 for (; addr < end; addr = next, p4d++) {
397 next = p4d_addr_end(addr, end);
407 ret = modify_pud_table(p4d, addr, next, add, direct);
411 try_free_pud_table(p4d, addr & P4D_MASK);
444 unsigned long addr, next;
451 for (addr = start; addr < end; addr = next) {
452 next = pgd_addr_end(addr, end);
453 pgd = pgd_offset_k(addr);
464 ret = modify_p4d_table(pgd, addr, next, add, direct);
468 try_free_p4d_table(pgd, addr & PGDIR_MASK);