GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / nds32 / include / asm / tlb.h
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2005-2017 Andes Technology Corporation
3
4 #ifndef __ASMNDS32_TLB_H
5 #define __ASMNDS32_TLB_H
6
7 #define tlb_start_vma(tlb,vma)                                          \
8         do {                                                            \
9                 if (!tlb->fullmm)                                       \
10                         flush_cache_range(vma, vma->vm_start, vma->vm_end); \
11         } while (0)
12
13 #define tlb_end_vma(tlb,vma)                            \
14         do {                                            \
15                 if(!tlb->fullmm)                        \
16                         flush_tlb_range(vma, vma->vm_start, vma->vm_end); \
17         } while (0)
18
19 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0)
20
21 #define tlb_flush(tlb)  flush_tlb_mm((tlb)->mm)
22
23 #include <asm-generic/tlb.h>
24
25 #define __pte_free_tlb(tlb, pte, addr)  pte_free((tlb)->mm, pte)
26 #define __pmd_free_tlb(tlb, pmd, addr)  pmd_free((tln)->mm, pmd)
27
28 #endif