From: Ian Molton A keep-it-compiling patch based on the arm32 code. Signed-off-by: Andrew Morton --- 25-akpm/include/asm-arm26/tlb.h | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletion(-) diff -puN include/asm-arm26/tlb.h~arm26-tlb-update include/asm-arm26/tlb.h --- 25/include/asm-arm26/tlb.h~arm26-tlb-update Thu Dec 23 14:22:15 2004 +++ 25-akpm/include/asm-arm26/tlb.h Thu Dec 23 14:22:15 2004 @@ -11,6 +11,7 @@ struct mmu_gather { struct mm_struct *mm; unsigned int freed; + unsigned int fullmm; unsigned int flushes; unsigned int avoided_flushes; @@ -26,6 +27,7 @@ tlb_gather_mmu(struct mm_struct *mm, uns tlb->mm = mm; tlb->freed = 0; + tlb->fullmm = full_mm_flush; return tlb; } @@ -52,8 +54,21 @@ tlb_finish_mmu(struct mmu_gather *tlb, u check_pgt_cache(); } + +static inline unsigned int +tlb_is_full_mm(struct mmu_gather *tlb) +{ + return tlb->fullmm; +} + #define tlb_remove_tlb_entry(tlb,ptep,address) do { } while (0) -#define tlb_start_vma(tlb,vma) do { } while (0) +//#define tlb_start_vma(tlb,vma) do { } while (0) +//FIXME - ARM32 uses this now that things changed in the kernel. seems like it may be pointless on arm26, however to get things compiling... +#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_page(tlb,page) free_page_and_swap_cache(page) _