xref: /openbmc/linux/arch/csky/include/asm/tlb.h (revision 3ce311af)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
3 
4 #ifndef __ASM_CSKY_TLB_H
5 #define __ASM_CSKY_TLB_H
6 
7 #include <asm/cacheflush.h>
8 
9 #define tlb_start_vma(tlb, vma) \
10 	do { \
11 		if (!(tlb)->fullmm) \
12 			flush_cache_range(vma, (vma)->vm_start, (vma)->vm_end); \
13 	}  while (0)
14 
15 #define tlb_end_vma(tlb, vma) \
16 	do { \
17 		if (!(tlb)->fullmm) \
18 			flush_tlb_range(vma, (vma)->vm_start, (vma)->vm_end); \
19 	}  while (0)
20 
21 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
22 
23 #include <asm-generic/tlb.h>
24 
25 #endif /* __ASM_CSKY_TLB_H */
26