[PATCH] powerpc: Use swapper_pg_dir instead of init_mm->pgd

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE909d

2 messages, 1 author, 2024-03-16 · open the first message on its own page

[PATCH] powerpc: Use swapper_pg_dir instead of init_mm->pgd

From: Christophe Leroy <hidden>
Date: 2022-10-09 17:31:38

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 <redacted>
---
 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
  */
-- 
2.37.1

Re: [PATCH] powerpc: Use swapper_pg_dir instead of init_mm->pgd

From: Christophe Leroy <hidden>
Date: 2024-03-16 11:55:27


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 <redacted>
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().

quoted hunk
---
  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
   */
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help