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