diff options
author | Ley Foon Tan <lftan@altera.com> | 2014-11-06 15:19:50 +0800 |
---|---|---|
committer | Ley Foon Tan <lftan@altera.com> | 2014-12-08 12:55:54 +0800 |
commit | c983e92fcba7c7e54c796941f42514d94dd6cccc (patch) | |
tree | f0c2eaca82b17eae70777ca50abbc4b418085cac /arch/nios2/include/asm/tlb.h | |
parent | 93c91cb228e76bd93a34979d17151862b4b22c28 (diff) | |
download | lwn-c983e92fcba7c7e54c796941f42514d94dd6cccc.tar.gz lwn-c983e92fcba7c7e54c796941f42514d94dd6cccc.zip |
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.h | 34 |
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 */ |