xref: /kvm-unit-tests/lib/arm/asm/mmu.h (revision db328a24b7030e9dd7e3012f25096a9188722144)
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 
112f3028cdSAndrew Jones #define PTE_USER		L_PTE_USER
12*db328a24SAndrew Jones #define PTE_RDONLY		PTE_AP2
132f3028cdSAndrew Jones #define PTE_SHARED		L_PTE_SHARED
142f3028cdSAndrew Jones #define PTE_AF			PTE_EXT_AF
152f3028cdSAndrew Jones #define PTE_WBWA		L_PTE_MT_WRITEALLOC
162f3028cdSAndrew Jones 
17153d1936SAndrew Jones static inline void local_flush_tlb_all(void)
18153d1936SAndrew Jones {
19153d1936SAndrew Jones 	asm volatile("mcr p15, 0, %0, c8, c7, 0" :: "r" (0));
20153d1936SAndrew Jones 	dsb();
21153d1936SAndrew Jones 	isb();
22153d1936SAndrew Jones }
23153d1936SAndrew Jones 
24153d1936SAndrew Jones static inline void flush_tlb_all(void)
25153d1936SAndrew Jones {
26153d1936SAndrew Jones 	//TODO
27153d1936SAndrew Jones 	local_flush_tlb_all();
28153d1936SAndrew Jones }
29153d1936SAndrew Jones 
302f3028cdSAndrew Jones #include <asm/mmu-api.h>
31db866895SAndrew Jones 
32db866895SAndrew Jones #endif /* __ASMARM_MMU_H_ */
33