12f3028cdSAndrew Jones #ifndef __ASMARM_MMU_API_H_ 22f3028cdSAndrew Jones #define __ASMARM_MMU_API_H_ 32f3028cdSAndrew Jones extern pgd_t *mmu_idmap; 4*b141dbacSAndrew Jones extern unsigned int mmu_disabled_cpu_count; 5*b141dbacSAndrew Jones extern bool __mmu_enabled(void); 6*b141dbacSAndrew Jones static inline bool mmu_enabled(void) 7*b141dbacSAndrew Jones { 8*b141dbacSAndrew Jones return mmu_disabled_cpu_count == 0 || __mmu_enabled(); 9*b141dbacSAndrew Jones } 102f3028cdSAndrew Jones extern void mmu_enable(pgd_t *pgtable); 11c33efcf3SAndrew Jones extern void mmu_mark_disabled(int cpu); 12e27b176bSAndrew Jones extern void mmu_disable(void); 132f3028cdSAndrew Jones extern void mmu_enable_idmap(void); 142f3028cdSAndrew Jones extern void mmu_init_io_sect(pgd_t *pgtable, unsigned long virt_offset); 152f3028cdSAndrew Jones extern void mmu_set_range_sect(pgd_t *pgtable, unsigned long virt_offset, 162f3028cdSAndrew Jones unsigned long phys_start, unsigned long phys_end, 172f3028cdSAndrew Jones pgprot_t prot); 182f3028cdSAndrew Jones extern void mmu_set_range_ptes(pgd_t *pgtable, unsigned long virt_offset, 192f3028cdSAndrew Jones unsigned long phys_start, unsigned long phys_end, 202f3028cdSAndrew Jones pgprot_t prot); 212f3028cdSAndrew Jones #endif 22