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