1 #ifndef __ASMARM64_MMU_H_ 2 #define __ASMARM64_MMU_H_ 3 /* 4 * Copyright (C) 2014, Red Hat Inc, Andrew Jones <drjones@redhat.com> 5 * 6 * This work is licensed under the terms of the GNU LGPL, version 2. 7 */ 8 #include <asm/barrier.h> 9 10 #define PMD_SECT_UNCACHED PMD_ATTRINDX(MT_DEVICE_nGnRE) 11 #define PTE_WBWA PTE_ATTRINDX(MT_NORMAL) 12 13 static inline void flush_tlb_all(void) 14 { 15 dsb(ishst); 16 asm("tlbi vmalle1is"); 17 dsb(ish); 18 isb(); 19 } 20 21 static inline void flush_tlb_page(unsigned long vaddr) 22 { 23 unsigned long page = vaddr >> 12; 24 dsb(ishst); 25 asm("tlbi vaae1is, %0" :: "r" (page)); 26 dsb(ish); 27 } 28 29 #include <asm/mmu-api.h> 30 31 #endif /* __ASMARM64_MMU_H_ */ 32