13ff1559eSRussell King #ifdef CONFIG_MMU 23ff1559eSRussell King 35f0fbf9eSNicolas Pitre /* the upper-most page table pointer */ 41b2e2b73SRussell King extern pmd_t *top_pmd; 51b2e2b73SRussell King 61b2e2b73SRussell King #define TOP_PTE(x) pte_offset_kernel(top_pmd, x) 71b2e2b73SRussell King 81b2e2b73SRussell King static inline pmd_t *pmd_off(pgd_t *pgd, unsigned long virt) 91b2e2b73SRussell King { 101b2e2b73SRussell King return pmd_offset(pgd, virt); 111b2e2b73SRussell King } 121b2e2b73SRussell King 131b2e2b73SRussell King static inline pmd_t *pmd_off_k(unsigned long virt) 141b2e2b73SRussell King { 151b2e2b73SRussell King return pmd_off(pgd_offset_k(virt), virt); 161b2e2b73SRussell King } 171b2e2b73SRussell King 18b29e9f5eSRussell King struct mem_type { 19b29e9f5eSRussell King unsigned int prot_pte; 20b29e9f5eSRussell King unsigned int prot_l1; 21b29e9f5eSRussell King unsigned int prot_sect; 22b29e9f5eSRussell King unsigned int domain; 23b29e9f5eSRussell King }; 24b29e9f5eSRussell King 25b29e9f5eSRussell King const struct mem_type *get_mem_type(unsigned int type); 26b29e9f5eSRussell King 277b0a1003SRussell King extern void __flush_dcache_page(struct address_space *mapping, struct page *page); 287b0a1003SRussell King 293ff1559eSRussell King #endif 303ff1559eSRussell King 311b2e2b73SRussell King struct map_desc; 32d111e8f9SRussell King struct meminfo; 33d111e8f9SRussell King struct pglist_data; 341b2e2b73SRussell King 351b2e2b73SRussell King void __init create_mapping(struct map_desc *md); 364b5f32ceSNicolas Pitre void __init bootmem_init(void); 37d111e8f9SRussell King void reserve_node_zero(struct pglist_data *pgdat); 38