Lines Matching refs:pgd

86 static inline void pgd_list_add(pgd_t *pgd)  in pgd_list_add()  argument
88 struct page *page = virt_to_page(pgd); in pgd_list_add()
93 static inline void pgd_list_del(pgd_t *pgd) in pgd_list_del() argument
95 struct page *page = virt_to_page(pgd); in pgd_list_del()
106 static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm) in pgd_set_mm() argument
108 virt_to_page(pgd)->pt_mm = mm; in pgd_set_mm()
116 static void pgd_ctor(struct mm_struct *mm, pgd_t *pgd) in pgd_ctor() argument
124 clone_pgd_range(pgd + KERNEL_PGD_BOUNDARY, in pgd_ctor()
131 pgd_set_mm(pgd, mm); in pgd_ctor()
132 pgd_list_add(pgd); in pgd_ctor()
136 static void pgd_dtor(pgd_t *pgd) in pgd_dtor() argument
142 pgd_list_del(pgd); in pgd_dtor()
257 pgd_t pgd = *pgdp; in mop_up_one_pmd() local
259 if (pgd_val(pgd) != 0) { in mop_up_one_pmd()
260 pmd_t *pmd = (pmd_t *)pgd_page_vaddr(pgd); in mop_up_one_pmd()
264 paravirt_release_pmd(pgd_val(pgd) >> PAGE_SHIFT); in mop_up_one_pmd()
289 static void pgd_prepopulate_pmd(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmds[]) in pgd_prepopulate_pmd() argument
298 p4d = p4d_offset(pgd, 0); in pgd_prepopulate_pmd()
396 static inline void _pgd_free(pgd_t *pgd) in _pgd_free() argument
399 free_pages((unsigned long)pgd, PGD_ALLOCATION_ORDER); in _pgd_free()
401 kmem_cache_free(pgd_cache, pgd); in _pgd_free()
411 static inline void _pgd_free(pgd_t *pgd) in _pgd_free() argument
413 free_pages((unsigned long)pgd, PGD_ALLOCATION_ORDER); in _pgd_free()
419 pgd_t *pgd; in pgd_alloc() local
423 pgd = _pgd_alloc(); in pgd_alloc()
425 if (pgd == NULL) in pgd_alloc()
428 mm->pgd = pgd; in pgd_alloc()
446 pgd_ctor(mm, pgd); in pgd_alloc()
447 pgd_prepopulate_pmd(mm, pgd, pmds); in pgd_alloc()
448 pgd_prepopulate_user_pmd(mm, pgd, u_pmds); in pgd_alloc()
452 return pgd; in pgd_alloc()
459 _pgd_free(pgd); in pgd_alloc()
464 void pgd_free(struct mm_struct *mm, pgd_t *pgd) in pgd_free() argument
466 pgd_mop_up_pmds(mm, pgd); in pgd_free()
467 pgd_dtor(pgd); in pgd_free()
468 paravirt_pgd_free(mm, pgd); in pgd_free()
469 _pgd_free(pgd); in pgd_free()