Re: [PATCH v2 16/23] powerpc: use asm-generic/mmu_context.h for no-op implementations

From: Michael Ellerman
Date: Tue Sep 01 2020 - 03:31:10 EST


Nicholas Piggin <npiggin@xxxxxxxxx> writes:
> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxxx>
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> ---
> arch/powerpc/include/asm/mmu_context.h | 22 +++++++---------------
> 1 file changed, 7 insertions(+), 15 deletions(-)

Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc)

cheers


> diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
> index 7f3658a97384..bc22e247ab55 100644
> --- a/arch/powerpc/include/asm/mmu_context.h
> +++ b/arch/powerpc/include/asm/mmu_context.h
> @@ -14,7 +14,9 @@
> /*
> * Most if the context management is out of line
> */
> +#define init_new_context init_new_context
> extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
> +#define destroy_context destroy_context
> extern void destroy_context(struct mm_struct *mm);
> #ifdef CONFIG_SPAPR_TCE_IOMMU
> struct mm_iommu_table_group_mem_t;
> @@ -235,27 +237,15 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
> }
> #define switch_mm_irqs_off switch_mm_irqs_off
>
> -
> -#define deactivate_mm(tsk,mm) do { } while (0)
> -
> -/*
> - * After we have set current->mm to a new value, this activates
> - * the context for the new mm so we see the new mappings.
> - */
> -static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next)
> -{
> - switch_mm(prev, next, current);
> -}
> -
> -/* We don't currently use enter_lazy_tlb() for anything */
> +#ifdef CONFIG_PPC_BOOK3E_64
> +#define enter_lazy_tlb enter_lazy_tlb
> static inline void enter_lazy_tlb(struct mm_struct *mm,
> struct task_struct *tsk)
> {
> /* 64-bit Book3E keeps track of current PGD in the PACA */
> -#ifdef CONFIG_PPC_BOOK3E_64
> get_paca()->pgd = NULL;
> -#endif
> }
> +#endif
>
> extern void arch_exit_mmap(struct mm_struct *mm);
>
> @@ -298,5 +288,7 @@ static inline int arch_dup_mmap(struct mm_struct *oldmm,
> return 0;
> }
>
> +#include <asm-generic/mmu_context.h>
> +
> #endif /* __KERNEL__ */
> #endif /* __ASM_POWERPC_MMU_CONTEXT_H */
> --
> 2.23.0