From: Ian Molton <spyro@f2s.com>

A keep-it-compiling patch based on the arm32 code.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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)
_