1 #ifndef __ASMARM_MMU_API_H_ 2 #define __ASMARM_MMU_API_H_ 3 4 #include <asm/page.h> 5 #include <stdbool.h> 6 7 extern pgd_t *mmu_idmap; 8 extern unsigned int mmu_disabled_cpu_count; 9 extern bool __mmu_enabled(void); 10 static inline bool mmu_enabled(void) 11 { 12 return mmu_disabled_cpu_count == 0 || __mmu_enabled(); 13 } 14 extern void mmu_mark_enabled(int cpu); 15 extern void mmu_mark_disabled(int cpu); 16 extern void mmu_enable(pgd_t *pgtable); 17 extern void mmu_disable(void); 18 19 extern void mmu_set_range_sect(pgd_t *pgtable, uintptr_t virt_offset, 20 phys_addr_t phys_start, phys_addr_t phys_end, 21 pgprot_t prot); 22 extern void mmu_set_range_ptes(pgd_t *pgtable, uintptr_t virt_offset, 23 phys_addr_t phys_start, phys_addr_t phys_end, 24 pgprot_t prot); 25 extern pteval_t *mmu_get_pte(pgd_t *pgtable, uintptr_t vaddr); 26 extern void mmu_clear_user(pgd_t *pgtable, unsigned long vaddr); 27 #endif 28