1db866895SAndrew Jones #ifndef __ASMARM_MMU_H_ 2db866895SAndrew Jones #define __ASMARM_MMU_H_ 3db866895SAndrew Jones /* 4db866895SAndrew Jones * Copyright (C) 2014, Red Hat Inc, Andrew Jones <drjones@redhat.com> 5db866895SAndrew Jones * 6db866895SAndrew Jones * This work is licensed under the terms of the GNU LGPL, version 2. 7db866895SAndrew Jones */ 8a796123fSAndrew Jones #include <asm/pgtable.h> 98cca5668SAndrew Jones #include <asm/barrier.h> 10153d1936SAndrew Jones 11*2f3028cdSAndrew Jones #define PTE_USER L_PTE_USER 12*2f3028cdSAndrew Jones #define PTE_SHARED L_PTE_SHARED 13*2f3028cdSAndrew Jones #define PTE_AF PTE_EXT_AF 14*2f3028cdSAndrew Jones #define PTE_WBWA L_PTE_MT_WRITEALLOC 15*2f3028cdSAndrew Jones 16153d1936SAndrew Jones static inline void local_flush_tlb_all(void) 17153d1936SAndrew Jones { 18153d1936SAndrew Jones asm volatile("mcr p15, 0, %0, c8, c7, 0" :: "r" (0)); 19153d1936SAndrew Jones dsb(); 20153d1936SAndrew Jones isb(); 21153d1936SAndrew Jones } 22153d1936SAndrew Jones 23153d1936SAndrew Jones static inline void flush_tlb_all(void) 24153d1936SAndrew Jones { 25153d1936SAndrew Jones //TODO 26153d1936SAndrew Jones local_flush_tlb_all(); 27153d1936SAndrew Jones } 28153d1936SAndrew Jones 29*2f3028cdSAndrew Jones #include <asm/mmu-api.h> 30db866895SAndrew Jones 31db866895SAndrew Jones #endif /* __ASMARM_MMU_H_ */ 32