13 #include <linux/slab.h>
16 #include <asm/pgalloc.h>
18 #include <asm/tlbflush.h>
22 #ifdef CONFIG_ARM_LPAE
23 #define __pgd_alloc() kmalloc(PTRS_PER_PGD * sizeof(pgd_t), GFP_KERNEL)
24 #define __pgd_free(pgd) kfree(pgd)
26 #define __pgd_alloc() (pgd_t *)__get_free_pages(GFP_KERNEL, 2)
27 #define __pgd_free(pgd) free_pages((unsigned long)pgd, 2)
35 pgd_t *new_pgd, *init_pgd;
36 pud_t *new_pud, *init_pud;
37 pmd_t *new_pmd, *init_pmd;
38 pte_t *new_pte, *init_pte;
55 #ifdef CONFIG_ARM_LPAE
83 new_pte = pte_alloc_map(mm,
NULL, new_pmd, 0);
118 if (pgd_none_or_clear_bad(pgd))
122 if (pud_none_or_clear_bad(pud))
126 if (pmd_none_or_clear_bad(pmd))
139 #ifdef CONFIG_ARM_LPAE
143 for (pgd = pgd_base; pgd < pgd_base +
PTRS_PER_PGD; pgd++) {
144 if (pgd_none_or_clear_bad(pgd))
149 if (pud_none_or_clear_bad(pud))