|
@@ -537,6 +537,27 @@ static inline void update_mmu_cache(struct vm_area_struct *vma,
|
|
|
|
|
|
#endif
|
|
|
|
|
|
-#endif /* CONFIG_MMU */
|
|
|
+#elif defined(CONFIG_SMP) /* !CONFIG_MMU */
|
|
|
+
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
+
|
|
|
+#include <linux/mm_types.h>
|
|
|
+
|
|
|
+static inline void local_flush_tlb_all(void) { }
|
|
|
+static inline void local_flush_tlb_mm(struct mm_struct *mm) { }
|
|
|
+static inline void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) { }
|
|
|
+static inline void local_flush_tlb_kernel_page(unsigned long kaddr) { }
|
|
|
+static inline void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { }
|
|
|
+static inline void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) { }
|
|
|
+
|
|
|
+extern void flush_tlb_all(void);
|
|
|
+extern void flush_tlb_mm(struct mm_struct *mm);
|
|
|
+extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr);
|
|
|
+extern void flush_tlb_kernel_page(unsigned long kaddr);
|
|
|
+extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end);
|
|
|
+extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
|
|
|
+#endif /* __ASSEMBLY__ */
|
|
|
+
|
|
|
+#endif
|
|
|
|
|
|
#endif
|