powerpc/mm: define an empty slice_init_new_context_exec()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Mon, 10 Dec 2018 12:23:05 +0000 (12:23 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 19 Dec 2018 07:56:32 +0000 (18:56 +1100)
Define slice_init_new_context_exec() at all time to avoid

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/slice.h
arch/powerpc/mm/mmu_context_nohash.c

index a595461c9cb03b70f5f54b511ce13e7063a867f4..44816cbc4198ee71fe3c335beb95351b9c244c7b 100644 (file)
 #include <asm/nohash/32/slice.h>
 #endif
 
+#ifndef __ASSEMBLY__
+
+struct mm_struct;
+
 #ifdef CONFIG_PPC_MM_SLICES
 
 #ifdef CONFIG_HUGETLB_PAGE
 #define HAVE_ARCH_UNMAPPED_AREA
 #define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
 
-#ifndef __ASSEMBLY__
-
-struct mm_struct;
-
 unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
                                      unsigned long flags, unsigned int psize,
                                      int topdown);
@@ -34,8 +34,12 @@ void slice_set_range_psize(struct mm_struct *mm, unsigned long start,
 void slice_init_new_context_exec(struct mm_struct *mm);
 void slice_setup_new_exec(void);
 
-#endif /* __ASSEMBLY__ */
+#else /* CONFIG_PPC_MM_SLICES */
+
+static inline void slice_init_new_context_exec(struct mm_struct *mm) {}
 
 #endif /* CONFIG_PPC_MM_SLICES */
 
+#endif /* __ASSEMBLY__ */
+
 #endif /* _ASM_POWERPC_SLICE_H */
index 431ecf37f17cd41d07b1ddf9e28834ff46a7d5ff..22d71a58167f55bb69e7c98819925c61ff565b1d 100644 (file)
@@ -372,7 +372,6 @@ int init_new_context(struct task_struct *t, struct mm_struct *mm)
 {
        pr_hard("initing context for mm @%p\n", mm);
 
-#ifdef CONFIG_PPC_MM_SLICES
        /*
         * We have MMU_NO_CONTEXT set to be ~0. Hence check
         * explicitly against context.id == 0. This ensures that we properly
@@ -382,7 +381,6 @@ int init_new_context(struct task_struct *t, struct mm_struct *mm)
         */
        if (mm->context.id == 0)
                slice_init_new_context_exec(mm);
-#endif
        mm->context.id = MMU_NO_CONTEXT;
        mm->context.active = 0;
        pte_frag_set(&mm->context, NULL);