]> Pileus Git - ~andy/linux/blobdiff - arch/arm/include/asm/tlbflush.h
ARM: nommu: define dummy TLB operations for nommu configurations
[~andy/linux] / arch / arm / include / asm / tlbflush.h
index a3625d141c1d417389e14a176d175ce359ebf081..cc8517e0f1325159a578d7532fb4a28a2eec8194 100644 (file)
@@ -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