Lines Matching refs:end
92 static void __vmemmap_use_sub_pmd(unsigned long start, unsigned long end)
103 static void vmemmap_use_sub_pmd(unsigned long start, unsigned long end)
110 unused_pmd_start = end;
116 __vmemmap_use_sub_pmd(start, end);
119 static void vmemmap_use_new_sub_pmd(unsigned long start, unsigned long end)
126 __vmemmap_use_sub_pmd(start, end);
136 if (!IS_ALIGNED(end, PMD_SIZE))
137 unused_pmd_start = end;
141 static bool vmemmap_unuse_sub_pmd(unsigned long start, unsigned long end)
146 memset(__va(start), PAGE_UNUSED, end - start);
152 unsigned long end, bool add, bool direct)
163 for (; addr < end; addr += PAGE_SIZE, pte++) {
209 unsigned long end, bool add, bool direct)
221 for (; addr < end; addr = next, pmd++) {
222 next = pmd_addr_end(addr, end);
291 const unsigned long end = start + PUD_SIZE;
296 if (end > VMALLOC_START)
299 if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START)
310 static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end,
322 for (; addr < end; addr = next, pud++) {
323 next = pud_addr_end(addr, end);
366 const unsigned long end = start + P4D_SIZE;
371 if (end > VMALLOC_START)
374 if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START)
387 static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end,
396 for (; addr < end; addr = next, p4d++) {
397 next = p4d_addr_end(addr, end);
420 const unsigned long end = start + PGDIR_SIZE;
425 if (end > VMALLOC_START)
428 if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START)
441 static int modify_pagetable(unsigned long start, unsigned long end, bool add,
449 if (WARN_ON_ONCE(!PAGE_ALIGNED(start | end)))
451 for (addr = start; addr < end; addr = next) {
452 next = pgd_addr_end(addr, end);
473 flush_tlb_kernel_range(start, end);
477 static int add_pagetable(unsigned long start, unsigned long end, bool direct)
479 return modify_pagetable(start, end, true, direct);
482 static int remove_pagetable(unsigned long start, unsigned long end, bool direct)
484 return modify_pagetable(start, end, false, direct);
506 int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
513 ret = add_pagetable(start, end, false);
515 remove_pagetable(start, end, false);
520 void vmemmap_free(unsigned long start, unsigned long end,
524 remove_pagetable(start, end, false);
558 phys_addr_t base, end;
561 for_each_mem_range(i, &base, &end)
562 vmem_add_range(base, end - base);