[PATCH v1 00/19] cleanup/refactor pgtable.h

Christophe Leroy christophe.leroy at csgroup.eu
Tue Sep 12 05:03:06 AEST 2023


This series is a cleanup of pgtable.h for nohash mainly

Main purpose is to refactor a lot of common code between
nohash/32 and nohash/64.

This series is a prerequisite for following series that will
rework PAGE flags and implement execute-only protection.

Christophe Leroy (19):
  powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE
  powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
  powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro
  powerpc: Remove pte_ERROR()
  powerpc: Deduplicate prototypes of ptep_set_access_flags() and
    phys_mem_access_prot()
  powerpc: Refactor update_mmu_cache_range()
  powerpc: Untangle fixmap.h and pgtable.h and mmu.h
  powerpc/nohash: Remove {pte/pmd}_protnone()
  powerpc/nohash: Refactor declaration of {map/unmap}_kernel_page()
  powerpc/nohash: Move 8xx version of pte_update() into pte-8xx.h
  powerpc/nohash: Replace #ifdef CONFIG_44x by IS_ENABLED(CONFIG_44x) in
    pgtable.h
  powerpc/nohash: Refactor pte_update()
  powerpc/nohash: Refactor checking of no-change in pte_update()
  powerpc/nohash: Deduplicate _PAGE_CHG_MASK
  powerpc/nohash: Deduplicate pte helpers
  powerpc/nohash: Refactor ptep_test_and_clear_young()
  powerpc/nohash: Deduplicate ptep_set_wrprotect() and
    ptep_get_and_clear()
  powerpc/nohash: Refactor pte_clear()
  powerpc/nohash: Refactor __ptep_set_access_flags()

 arch/powerpc/include/asm/book3s/32/pgtable.h |  12 +-
 arch/powerpc/include/asm/book3s/64/pgtable.h |   3 +-
 arch/powerpc/include/asm/book3s/pgtable.h    |  33 ---
 arch/powerpc/include/asm/fixmap.h            |  16 +-
 arch/powerpc/include/asm/nohash/32/mmu-8xx.h |   1 -
 arch/powerpc/include/asm/nohash/32/pgtable.h | 201 +------------------
 arch/powerpc/include/asm/nohash/32/pte-40x.h |   3 -
 arch/powerpc/include/asm/nohash/32/pte-8xx.h |  64 ++++++
 arch/powerpc/include/asm/nohash/64/pgtable.h | 118 +----------
 arch/powerpc/include/asm/nohash/pgtable.h    | 182 +++++++++++++----
 arch/powerpc/include/asm/pgtable.h           |  32 +++
 arch/powerpc/mm/init_32.c                    |   1 +
 arch/powerpc/mm/mem.c                        |   1 +
 arch/powerpc/mm/nohash/8xx.c                 |   2 +
 arch/powerpc/mm/nohash/book3e_pgtable.c      |   2 +-
 arch/powerpc/mm/nohash/e500_hugetlbpage.c    |   3 +-
 arch/powerpc/platforms/8xx/cpm1.c            |   1 +
 17 files changed, 268 insertions(+), 407 deletions(-)

-- 
2.41.0



More information about the Linuxppc-dev mailing list