VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / asm-ppc / tlbflush.h
index 6c6842f..9850f53 100644 (file)
@@ -24,6 +24,28 @@ extern void _tlbia(void);
 #define __tlbia                _tlbia
 #endif
 
+static inline void flush_tlb_mm(struct mm_struct *mm)
+       { __tlbia(); }
+static inline void flush_tlb_page(struct vm_area_struct *vma,
+                               unsigned long vmaddr)
+       { _tlbie(vmaddr); }
+static inline void flush_tlb_page_nohash(struct vm_area_struct *vma,
+                                        unsigned long vmaddr)
+       { _tlbie(vmaddr); }
+static inline void flush_tlb_range(struct vm_area_struct *vma,
+                               unsigned long start, unsigned long end)
+       { __tlbia(); }
+static inline void flush_tlb_kernel_range(unsigned long start,
+                               unsigned long end)
+       { __tlbia(); }
+
+#elif defined(CONFIG_FSL_BOOKE)
+
+/* TODO: determine if flush_tlb_range & flush_tlb_kernel_range
+ * are best implemented as tlbia vs specific tlbie's */
+
+#define __tlbia()      _tlbia()
+
 static inline void flush_tlb_mm(struct mm_struct *mm)
        { __tlbia(); }
 static inline void flush_tlb_page(struct vm_area_struct *vma,