summaryrefslogtreecommitdiff
path: root/arch/nios2/include/asm/tlb.h
diff options
context:
space:
mode:
authorLey Foon Tan <lftan@altera.com>2014-11-06 15:19:50 +0800
committerLey Foon Tan <lftan@altera.com>2014-12-08 12:55:54 +0800
commitc983e92fcba7c7e54c796941f42514d94dd6cccc (patch)
treef0c2eaca82b17eae70777ca50abbc4b418085cac /arch/nios2/include/asm/tlb.h
parent93c91cb228e76bd93a34979d17151862b4b22c28 (diff)
nios2: TLB handling
This patch adds the TLB maintenance functions. Signed-off-by: Ley Foon Tan <lftan@altera.com>
Diffstat (limited to 'arch/nios2/include/asm/tlb.h')
-rw-r--r--arch/nios2/include/asm/tlb.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/nios2/include/asm/tlb.h b/arch/nios2/include/asm/tlb.h
new file mode 100644
index 000000000000..d3bc648e08b5
--- /dev/null
+++ b/arch/nios2/include/asm/tlb.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
+ * Copyright (C) 2009 Wind River Systems Inc
+ * Copyright (C) 2004 Microtronix Datacom Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#ifndef _ASM_NIOS2_TLB_H
+#define _ASM_NIOS2_TLB_H
+
+#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
+
+extern void set_mmu_pid(unsigned long pid);
+
+/*
+ * NiosII doesn't need any special per-pte or per-vma handling, except
+ * we need to flush cache for the area to be unmapped.
+ */
+#define tlb_start_vma(tlb, vma) \
+ do { \
+ if (!tlb->fullmm) \
+ flush_cache_range(vma, vma->vm_start, vma->vm_end); \
+ } while (0)
+
+#define tlb_end_vma(tlb, vma) do { } while (0)
+#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
+
+#include <linux/pagemap.h>
+#include <asm-generic/tlb.h>
+
+#endif /* _ASM_NIOS2_TLB_H */