1 #ifndef _NIOS2NOMMU_TLBFLUSH_H
2 #define _NIOS2NOMMU_TLBFLUSH_H
4 /*--------------------------------------------------------------------
6 * include/asm-nios2nommu/tlbflush.h
8 * Ported from m68knommu.
10 * Copyright (C) 2003 Microtronix Datacom Ltd.
12 * All rights reserved.
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
22 * NON INFRINGEMENT. See the GNU General Public License for more
25 * You should have received a copy of the GNU General Public License
26 * along with this program; if not, write to the Free Software
27 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30 * Jan/20/2004 dgt NiosII
32 ---------------------------------------------------------------------*/
34 #include <asm/setup.h>
37 * flush all user-space atc entries.
39 static inline void __flush_tlb(void)
44 static inline void __flush_tlb_one(unsigned long addr
)
49 #define flush_tlb() __flush_tlb()
52 * flush all atc entries (both kernel and user-space entries).
54 static inline void flush_tlb_all(void)
59 static inline void flush_tlb_mm(struct mm_struct
*mm
)
64 static inline void flush_tlb_page(struct vm_area_struct
*vma
, unsigned long addr
)
69 static inline void flush_tlb_range(struct mm_struct
*mm
,
70 unsigned long start
, unsigned long end
)
75 extern inline void flush_tlb_kernel_page(unsigned long addr
)
80 extern inline void flush_tlb_pgtables(struct mm_struct
*mm
,
81 unsigned long start
, unsigned long end
)
86 #endif /* _NIOS2NOMMU_TLBFLUSH_H */