Go to the documentation of this file.
10 #ifndef _ASMARM_PGALLOC_H
11 #define _ASMARM_PGALLOC_H
16 #include <asm/pgtable-hwdef.h>
17 #include <asm/processor.h>
18 #include <asm/cacheflush.h>
19 #include <asm/tlbflush.h>
21 #define check_pgt_cache() do { } while (0)
25 #define _PAGE_USER_TABLE (PMD_TYPE_TABLE | PMD_BIT4 | PMD_DOMAIN(DOMAIN_USER))
26 #define _PAGE_KERNEL_TABLE (PMD_TYPE_TABLE | PMD_BIT4 | PMD_DOMAIN(DOMAIN_KERNEL))
28 #ifdef CONFIG_ARM_LPAE
51 #define pmd_alloc_one(mm,addr) ({ BUG(); ((pmd_t *)2); })
52 #define pmd_free(mm, pmd) do { } while (0)
53 #define pud_populate(mm,pmd,pte) BUG()
60 #define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_REPEAT | __GFP_ZERO)
62 static inline void clean_pte_table(
pte_t *
pte)
100 #ifdef CONFIG_HIGHPTE
106 if (!PageHighMem(pte))
108 pgtable_page_ctor(pte);
125 pgtable_page_dtor(pte);
133 pmdp[0] =
__pmd(pmdval);
134 #ifndef CONFIG_ARM_LPAE
135 pmdp[1] =
__pmd(pmdval + 256 *
sizeof(
pte_t));
137 flush_pmd_entry(pmdp);
160 #define pmd_pgtable(pmd) pmd_page(pmd)