x86: move pmd functions into common asm/pgalloc.h
[linux-2.6/openmoko-kernel/knife-kernel.git] / include / asm-x86 / pgalloc_64.h
blob501968194253d99a00fcb1b0b5d3cdb767f07a7d
1 #ifndef _X86_64_PGALLOC_H
2 #define _X86_64_PGALLOC_H
4 #include <asm/pda.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 */