xref: /openbmc/linux/arch/arm/mm/mm.h (revision 7b0a1003)
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