Re: [PATCH] powerpc: Use swapper_pg_dir instead of init_mm->pgd
From: Christophe Leroy
Date: Sat Mar 16 2024 - 07:55:35 EST
Le 09/10/2022 à 19:31, Christophe Leroy a écrit :
> init_mm->pgd is always swapper_pg_dir[] which is known
> at build time.
>
> Directly use the later instead of loading it from init_mm
> struct at every time.
>
> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Dropping this patch after feedback from Michael:
no other arches do it. (swapper_pg_dir)
It would also make us the only arch other than ia64 (which is old and
probably going to get removed soon) defining pgd_offset_k().
> ---
> arch/powerpc/include/asm/pgtable.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
> index 283f40d05a4d..f6843e6294d9 100644
> --- a/arch/powerpc/include/asm/pgtable.h
> +++ b/arch/powerpc/include/asm/pgtable.h
> @@ -48,6 +48,9 @@ struct mm_struct;
> /* Keep these as a macros to avoid include dependency mess */
> #define pte_page(x) pfn_to_page(pte_pfn(x))
> #define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot))
> +
> +#define pgd_offset_k(address) pgd_offset_pgd(swapper_pg_dir, (address))
> +
> /*
> * Select all bits except the pfn
> */