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 pmd_off_k(unsigned long virt)8static 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 pmdval_t prot_l1; 16 pmdval_t 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 /* 25 * ARM specific vm_struct->flags bits. 26 */ 27 28 /* (super)section-mapped I/O regions used by ioremap()/iounmap() */ 29 #define VM_ARM_SECTION_MAPPING 0x80000000 30 31 /* permanent static mappings from iotable_init() */ 32 #define VM_ARM_STATIC_MAPPING 0x40000000 33 34 /* mapping type (attributes) for permanent static mappings */ 35 #define VM_ARM_MTYPE(mt) ((mt) << 20) 36 #define VM_ARM_MTYPE_MASK (0x1f << 20) 37 38 #endif 39 40 #ifdef CONFIG_ZONE_DMA 41 extern u32 arm_dma_limit; 42 #else 43 #define arm_dma_limit ((u32)~0) 44 #endif 45 46 void __init bootmem_init(void); 47 void arm_mm_memblock_reserve(void); 48