| .. | .. |
|---|
| 11 | 11 | #ifndef _ASM_NIOS2_TLB_H |
|---|
| 12 | 12 | #define _ASM_NIOS2_TLB_H |
|---|
| 13 | 13 | |
|---|
| 14 | | -#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) |
|---|
| 15 | | - |
|---|
| 16 | 14 | extern void set_mmu_pid(unsigned long pid); |
|---|
| 17 | 15 | |
|---|
| 18 | 16 | /* |
|---|
| 19 | | - * NiosII doesn't need any special per-pte or per-vma handling, except |
|---|
| 20 | | - * we need to flush cache for the area to be unmapped. |
|---|
| 17 | + * NIOS32 does have flush_tlb_range(), but it lacks a limit and fallback to |
|---|
| 18 | + * full mm invalidation. So use flush_tlb_mm() for everything. |
|---|
| 21 | 19 | */ |
|---|
| 22 | | -#define tlb_start_vma(tlb, vma) \ |
|---|
| 23 | | - do { \ |
|---|
| 24 | | - if (!tlb->fullmm) \ |
|---|
| 25 | | - flush_cache_range(vma, vma->vm_start, vma->vm_end); \ |
|---|
| 26 | | - } while (0) |
|---|
| 27 | | - |
|---|
| 28 | | -#define tlb_end_vma(tlb, vma) do { } while (0) |
|---|
| 29 | | -#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) |
|---|
| 30 | 20 | |
|---|
| 31 | 21 | #include <linux/pagemap.h> |
|---|
| 32 | 22 | #include <asm-generic/tlb.h> |
|---|