[PATCH 0/8] Convert powerpc to default topdown mmap layout

Christophe Leroy
2021-11-22T08:49:33Z

This series converts powerpc to default topdown mmap layout.

powerpc provides its own arch_get_unmapped_area() only when
slices are needed, which is only for book3s/64. First part of
the series moves slices into book3s/64 specific directories
and cleans up other subarchitectures.

Then a small modification is done to core mm to allow
powerpc to still provide its own arch_randomize_brk()

Last part converts to default topdown mmap layout.

Christophe Leroy (8):
powerpc/mm: Make slice specific to book3s/64
powerpc/mm: Remove CONFIG_PPC_MM_SLICES
powerpc/mm: Remove asm/slice.h
powerpc/mm: Move vma_mmu_pagesize() and hugetlb_get_unmapped_area() to
slice.c
powerpc/mm: Call radix__arch_get_unmapped_area() from
arch_get_unmapped_area()
mm: Allow arch specific arch_randomize_brk() with
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
powerpc/mm: Convert to default topdown mmap layout
powerpc/mm: Properly randomise mmap with slices

arch/Kconfig | 1 -
arch/powerpc/Kconfig | 1 +
arch/powerpc/include/asm/book3s/64/hash.h | 5 +-
arch/powerpc/include/asm/book3s/64/mmu-hash.h | 1 +
arch/powerpc/include/asm/book3s/64/slice.h | 18 ++
arch/powerpc/include/asm/hugetlb.h | 2 +-
arch/powerpc/include/asm/paca.h | 5 -
arch/powerpc/include/asm/page.h | 1 -
arch/powerpc/include/asm/processor.h | 2 -
arch/powerpc/include/asm/slice.h | 46 ----
arch/powerpc/kernel/paca.c | 5 -
arch/powerpc/mm/Makefile | 3 +-
arch/powerpc/mm/book3s64/Makefile | 2 +-
arch/powerpc/mm/book3s64/hash_utils.c | 14 --
arch/powerpc/mm/{ => book3s64}/slice.c | 144 ++++++++++-
arch/powerpc/mm/hugetlbpage.c | 28 ---
arch/powerpc/mm/mmap.c | 228 ------------------
arch/powerpc/mm/nohash/mmu_context.c | 2 -
arch/powerpc/mm/nohash/tlb.c | 4 -
arch/powerpc/platforms/Kconfig.cputype | 4 -
fs/binfmt_elf.c | 3 +-
include/linux/elf-randomize.h | 3 +-
mm/util.c | 2 +
23 files changed, 165 insertions(+), 359 deletions(-)
delete mode 100644 arch/powerpc/include/asm/slice.h
rename arch/powerpc/mm/{ => book3s64}/slice.c (84%)
delete mode 100644 arch/powerpc/mm/mmap.c

--
2.33.1