1 #ifndef _X86_64_PGALLOC_H
2 #define _X86_64_PGALLOC_H
6 static inline void pud_populate(struct mm_struct
*mm
, pud_t
*pud
, pmd_t
*pmd
)
8 set_pud(pud
, __pud(_PAGE_TABLE
| __pa(pmd
)));
11 static inline void pgd_populate(struct mm_struct
*mm
, pgd_t
*pgd
, pud_t
*pud
)
13 set_pgd(pgd
, __pgd(_PAGE_TABLE
| __pa(pud
)));
16 static inline pud_t
*pud_alloc_one(struct mm_struct
*mm
, unsigned long addr
)
18 return (pud_t
*)get_zeroed_page(GFP_KERNEL
|__GFP_REPEAT
);
21 static inline void pud_free(struct mm_struct
*mm
, pud_t
*pud
)
23 BUG_ON((unsigned long)pud
& (PAGE_SIZE
-1));
24 free_page((unsigned long)pud
);
27 extern void __pud_free_tlb(struct mmu_gather
*tlb
, pud_t
*pud
);
29 #endif /* _X86_64_PGALLOC_H */