GNU Linux-libre 4.14.332-gnu1
[releases.git] / arch / parisc / include / asm / tlb.h
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