]> Pileus Git - ~andy/linux/commitdiff
Merge branch 'for-rmk/hugepages' of git://git.linaro.org/people/stevecapper/linux...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 18 Jun 2013 19:03:30 +0000 (20:03 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 18 Jun 2013 19:05:48 +0000 (20:05 +0100)
These changes bring both HugeTLB support and Transparent HugePage
(THP) support to ARM.  Only long descriptors (LPAE) are supported
in this series.

The code has been tested on an Arndale board (Exynos 5250).

1  2 
arch/arm/Kconfig
arch/arm/include/asm/tlbflush.h
arch/arm/mm/Makefile

Simple merge
index ded7c16f80cc056de147fa950acb28af98ffb062,c37459299fc9cff7196eceb8a42a29ca7b22c22d..fdbb9e369745c4b09d776a4568caa52702b7e9a7
@@@ -535,31 -535,10 +535,33 @@@ static inline void update_mmu_cache(str
  }
  #endif
  
+ #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0)
  #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)                               { }
 +static inline void local_flush_bp_all(void)                                                                   { }
 +
 +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);
 +extern void flush_bp_all(void);
 +#endif        /* __ASSEMBLY__ */
 +
 +#endif
  
  #endif
Simple merge