xref: /openbmc/linux/arch/arm/mm/mm.h (revision a09d2831)
1 #ifdef CONFIG_MMU
2 
3 /* the upper-most page table pointer */
4 extern pmd_t *top_pmd;
5 
6 #define TOP_PTE(x)	pte_offset_kernel(top_pmd, x)
7 
8 static inline pmd_t *pmd_off(pgd_t *pgd, unsigned long virt)
9 {
10 	return pmd_offset(pgd, virt);
11 }
12 
13 static inline pmd_t *pmd_off_k(unsigned long virt)
14 {
15 	return pmd_off(pgd_offset_k(virt), virt);
16 }
17 
18 struct mem_type {
19 	unsigned int prot_pte;
20 	unsigned int prot_l1;
21 	unsigned int prot_sect;
22 	unsigned int domain;
23 };
24 
25 const struct mem_type *get_mem_type(unsigned int type);
26 
27 extern void __flush_dcache_page(struct address_space *mapping, struct page *page);
28 
29 #endif
30 
31 struct map_desc;
32 struct meminfo;
33 struct pglist_data;
34 
35 void __init create_mapping(struct map_desc *md);
36 void __init bootmem_init(void);
37 void reserve_node_zero(struct pglist_data *pgdat);
38