diff options
Diffstat (limited to 'arch/sparc/include/asm/mmu_context_64.h')
| -rw-r--r-- | arch/sparc/include/asm/mmu_context_64.h | 29 | 
1 files changed, 15 insertions, 14 deletions
diff --git a/arch/sparc/include/asm/mmu_context_64.h b/arch/sparc/include/asm/mmu_context_64.h index 666a73fef28..b84be675e50 100644 --- a/arch/sparc/include/asm/mmu_context_64.h +++ b/arch/sparc/include/asm/mmu_context_64.h @@ -6,7 +6,6 @@  #ifndef __ASSEMBLY__  #include <linux/spinlock.h> -#include <asm/system.h>  #include <asm/spitfire.h>  #include <asm-generic/mm_hooks.h> @@ -18,26 +17,26 @@ extern spinlock_t ctx_alloc_lock;  extern unsigned long tlb_context_cache;  extern unsigned long mmu_context_bmap[]; -extern void get_new_mmu_context(struct mm_struct *mm); +void get_new_mmu_context(struct mm_struct *mm);  #ifdef CONFIG_SMP -extern void smp_new_mmu_context_version(void); +void smp_new_mmu_context_version(void);  #else  #define smp_new_mmu_context_version() do { } while (0)  #endif -extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); -extern void destroy_context(struct mm_struct *mm); +int init_new_context(struct task_struct *tsk, struct mm_struct *mm); +void destroy_context(struct mm_struct *mm); -extern void __tsb_context_switch(unsigned long pgd_pa, -				 struct tsb_config *tsb_base, -				 struct tsb_config *tsb_huge, -				 unsigned long tsb_descr_pa); +void __tsb_context_switch(unsigned long pgd_pa, +			  struct tsb_config *tsb_base, +			  struct tsb_config *tsb_huge, +			  unsigned long tsb_descr_pa);  static inline void tsb_context_switch(struct mm_struct *mm)  {  	__tsb_context_switch(__pa(mm->pgd),  			     &mm->context.tsb_block[0], -#ifdef CONFIG_HUGETLB_PAGE +#if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE)  			     (mm->context.tsb_block[1].tsb ?  			      &mm->context.tsb_block[1] :  			      NULL) @@ -47,9 +46,11 @@ static inline void tsb_context_switch(struct mm_struct *mm)  			     , __pa(&mm->context.tsb_descr[0]));  } -extern void tsb_grow(struct mm_struct *mm, unsigned long tsb_index, unsigned long mm_rss); +void tsb_grow(struct mm_struct *mm, +	      unsigned long tsb_index, +	      unsigned long mm_rss);  #ifdef CONFIG_SMP -extern void smp_tsb_sync(struct mm_struct *mm); +void smp_tsb_sync(struct mm_struct *mm);  #else  #define smp_tsb_sync(__mm) do { } while (0)  #endif @@ -67,9 +68,9 @@ extern void smp_tsb_sync(struct mm_struct *mm);  	: "r" (CTX_HWBITS((__mm)->context)), \  	  "r" (SECONDARY_CONTEXT), "i" (ASI_DMMU), "i" (ASI_MMU)) -extern void __flush_tlb_mm(unsigned long, unsigned long); +void __flush_tlb_mm(unsigned long, unsigned long); -/* Switch the current MM context.  Interrupts are disabled.  */ +/* Switch the current MM context. */  static inline void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, struct task_struct *tsk)  {  	unsigned long ctx_valid, flags;  | 
