xref: /kvm-unit-tests/lib/arm/asm/mmu.h (revision a0837ab6c95ece72b926aca6c245891088836a51)
1 #ifndef __ASMARM_MMU_H_
2 #define __ASMARM_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/pgtable.h>
9 #include <asm/barrier.h>
10 
11 #define PTE_USER		L_PTE_USER
12 #define PTE_RDONLY		PTE_AP2
13 #define PTE_SHARED		L_PTE_SHARED
14 #define PTE_AF			PTE_EXT_AF
15 #define PTE_WBWA		L_PTE_MT_WRITEALLOC
16 
17 static inline void local_flush_tlb_all(void)
18 {
19 	asm volatile("mcr p15, 0, %0, c8, c7, 0" :: "r" (0));
20 	dsb();
21 	isb();
22 }
23 
24 static inline void flush_tlb_all(void)
25 {
26 	//TODO
27 	local_flush_tlb_all();
28 }
29 
30 #include <asm/mmu-api.h>
31 
32 #endif /* __ASMARM_MMU_H_ */
33