Lines Matching defs:pgd
93 pgd_t *pgd;
98 pgd = swapper_pg_dir + pgd_index(vaddr);
99 if (pgd_none(*pgd)) {
103 pud = pud_offset(pgd, vaddr);
146 * List of all pgd's needed so it can invalidate entries in both cached
147 * and uncached pgd's. This is essentially codepath-based locking
158 static inline void pgd_list_add(pgd_t *pgd)
160 list_add(pgd_to_list(pgd), &pgd_list);
163 static inline void pgd_list_del(pgd_t *pgd)
165 list_del(pgd_to_list(pgd));
171 static void pgd_ctor(pgd_t *pgd)
175 memset(pgd, 0, KERNEL_PGD_INDEX_START*sizeof(pgd_t));
187 clone_pgd_range(pgd + KERNEL_PGD_INDEX_START,
191 pgd_list_add(pgd);
195 static void pgd_dtor(pgd_t *pgd)
200 pgd_list_del(pgd);
206 pgd_t *pgd = kmem_cache_alloc(pgd_cache, GFP_KERNEL);
207 if (pgd)
208 pgd_ctor(pgd);
209 return pgd;
212 void pgd_free(struct mm_struct *mm, pgd_t *pgd)
214 pgd_dtor(pgd);
215 kmem_cache_free(pgd_cache, pgd);
305 pgd_t *pgd;
312 pgd = mm ? pgd_offset(mm, addr) : swapper_pg_dir + pgd_index(addr);
313 pud = pud_offset(pgd, addr);