cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tlbflush.h (1654B)


      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
     11void local_flush_tlb_all(void);
     12void local_flush_tlb_mm(struct mm_struct *mm);
     13void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
     14void local_flush_tlb_kernel_range(unsigned long start, unsigned long end);
     15void local_flush_tlb_range(struct vm_area_struct *vma,
     16			   unsigned long start, unsigned long end);
     17#ifdef CONFIG_TRANSPARENT_HUGEPAGE
     18void 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
     32extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
     33							 unsigned long end);
     34extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
     35extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
     36extern void flush_tlb_all(void);
     37extern void flush_tlb_mm(struct mm_struct *mm);
     38#ifdef CONFIG_TRANSPARENT_HUGEPAGE
     39extern void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end);
     40#endif
     41#endif /* CONFIG_SMP */
     42#endif