xref: /openbmc/linux/arch/arm/mm/mm.h (revision 9c1f8594)
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_k(unsigned long virt)
9 {
10 	return pmd_offset(pud_offset(pgd_offset_k(virt), virt), virt);
11 }
12 
13 struct mem_type {
14 	pteval_t prot_pte;
15 	unsigned int prot_l1;
16 	unsigned int prot_sect;
17 	unsigned int domain;
18 };
19 
20 const struct mem_type *get_mem_type(unsigned int type);
21 
22 extern void __flush_dcache_page(struct address_space *mapping, struct page *page);
23 
24 #endif
25 
26 #ifdef CONFIG_ZONE_DMA
27 extern u32 arm_dma_limit;
28 #else
29 #define arm_dma_limit ((u32)~0)
30 #endif
31 
32 void __init bootmem_init(void);
33 void arm_mm_memblock_reserve(void);
34