xref: /openbmc/linux/arch/nios2/include/asm/tlb.h (revision e3d786a3)
1 /*
2  * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
3  * Copyright (C) 2009 Wind River Systems Inc
4  * Copyright (C) 2004 Microtronix Datacom Ltd.
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License. See the file "COPYING" in the main directory of this archive
8  * for more details.
9  */
10 
11 #ifndef _ASM_NIOS2_TLB_H
12 #define _ASM_NIOS2_TLB_H
13 
14 #define tlb_flush(tlb)	flush_tlb_mm((tlb)->mm)
15 
16 extern void set_mmu_pid(unsigned long pid);
17 
18 /*
19  * NiosII doesn't need any special per-pte or per-vma handling, except
20  * we need to flush cache for the area to be unmapped.
21  */
22 #define tlb_start_vma(tlb, vma)					\
23 	do {							\
24 		if (!tlb->fullmm)				\
25 			flush_cache_range(vma, vma->vm_start, vma->vm_end); \
26 	}  while (0)
27 
28 #define tlb_end_vma(tlb, vma)	do { } while (0)
29 #define __tlb_remove_tlb_entry(tlb, ptep, address)	do { } while (0)
30 
31 #include <linux/pagemap.h>
32 #include <asm-generic/tlb.h>
33 
34 #endif /* _ASM_NIOS2_TLB_H */
35