xref: /openbmc/linux/arch/parisc/include/asm/tlb.h (revision 60772e48)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _PARISC_TLB_H
3 #define _PARISC_TLB_H
4 
5 #define tlb_flush(tlb)			\
6 do {	if ((tlb)->fullmm)		\
7 		flush_tlb_mm((tlb)->mm);\
8 } while (0)
9 
10 #define tlb_start_vma(tlb, vma) \
11 do {	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 {	if (!(tlb)->fullmm)	\
17 		flush_tlb_range(vma, vma->vm_start, vma->vm_end); \
18 } while (0)
19 
20 #define __tlb_remove_tlb_entry(tlb, pte, address) \
21 	do { } while (0)
22 
23 #include <asm-generic/tlb.h>
24 
25 #define __pmd_free_tlb(tlb, pmd, addr)	pmd_free((tlb)->mm, pmd)
26 #define __pte_free_tlb(tlb, pte, addr)	pte_free((tlb)->mm, pte)
27 
28 #endif
29