]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: nommu: add stub local_flush_bp_all() for !CONFIG_MMUU
authorJonathan Austin <jonathan.austin@arm.com>
Wed, 24 Apr 2013 10:56:09 +0000 (11:56 +0100)
committerJonathan Austin <jonathan.austin@arm.com>
Fri, 7 Jun 2013 16:02:46 +0000 (17:02 +0100)
Since the merging of Will's tlb-ops branch, specifically 89c7e4b8bbb3
(ARM: 7661/1: mm: perform explicit branch predictor maintenance when required),
building SMP without CONFIG_MMU has been broken.

The local_flush_bp_all function is only called for operations related to
changing the kernel's view of memory and ASID rollover - both of which are
irrelevant to an !MMU kernel.

This patch adds a stub local_flush_bp_all() function to the other tlb
maintenance stubs and restores the ability to build an SMP !MMU kernel.

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
arch/arm/include/asm/tlbflush.h

index cc8517e0f1325159a578d7532fb4a28a2eec8194..ded7c16f80cc056de147fa950acb28af98ffb062 100644 (file)
@@ -549,6 +549,7 @@ static inline void local_flush_tlb_page(struct vm_area_struct *vma, unsigned lon
 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)                                { }
+static inline void local_flush_bp_all(void)                                                                    { }
 
 extern void flush_tlb_all(void);
 extern void flush_tlb_mm(struct mm_struct *mm);
@@ -556,6 +557,7 @@ 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);
+extern void flush_bp_all(void);
 #endif /* __ASSEMBLY__ */
 
 #endif