root/arch/arc/include/asm/tlbflush.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
   4  */
   5 
   6 #ifndef __ASM_ARC_TLBFLUSH__
   7 #define __ASM_ARC_TLBFLUSH__
   8 
   9 #include <linux/mm.h>
  10 
  11 void local_flush_tlb_all(void);
  12 void local_flush_tlb_mm(struct mm_struct *mm);
  13 void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
  14 void local_flush_tlb_kernel_range(unsigned long start, unsigned long end);
  15 void local_flush_tlb_range(struct vm_area_struct *vma,
  16                            unsigned long start, unsigned long end);
  17 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  18 void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start,
  19                                unsigned long end);
  20 #endif
  21 
  22 #ifndef CONFIG_SMP
  23 #define flush_tlb_range(vma, s, e)      local_flush_tlb_range(vma, s, e)
  24 #define flush_tlb_page(vma, page)       local_flush_tlb_page(vma, page)
  25 #define flush_tlb_kernel_range(s, e)    local_flush_tlb_kernel_range(s, e)
  26 #define flush_tlb_all()                 local_flush_tlb_all()
  27 #define flush_tlb_mm(mm)                local_flush_tlb_mm(mm)
  28 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  29 #define flush_pmd_tlb_range(vma, s, e)  local_flush_pmd_tlb_range(vma, s, e)
  30 #endif
  31 #else
  32 extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
  33                                                          unsigned long end);
  34 extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
  35 extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
  36 extern void flush_tlb_all(void);
  37 extern void flush_tlb_mm(struct mm_struct *mm);
  38 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  39 extern void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end);
  40 #endif
  41 #endif /* CONFIG_SMP */
  42 #endif

/* [<][>][^][v][top][bottom][index][help] */