[PATCH v4 0/8] Update hash MMU kernel mapping to be in sync with radix
Aneesh Kumar K.V
aneesh.kumar at linux.ibm.com
Wed Apr 17 22:59:12 AEST 2019
This patch series map all the kernel regions (vmalloc, IO and vmemmap) using
0xc top nibble address. This brings hash translation kernel mapping in sync with radix.
Each of these regions can now map 512TB. We use one context to map these
regions and hence the 512TB limit. We also update radix to use the same limit even though
we don't have context related restrictions there.
With this we have for 4K
kernel vmalloc start = 0xc008000000000000
kernel IO start = 0xc008100000000000
kernel vmemmap start = 0xc008200000000000
64K hash, 64K radix and 4k radix:
kernel vmalloc start = 0xc008000000000000
kernel IO start = 0xc00a000000000000
kernel vmemmap start = 0xc00c000000000000
Changes from v3:
* Make 4k page size hash translation vmalloc start address to be
same as hash 64k and radix.
Aneesh Kumar K.V (8):
powerpc/mm/hash64: Add a variable to track the end of IO mapping
powerpc/mm/hash64: Map all the kernel regions in the same 0xc range
powerpc/mm: Validate address values against different region limits
powerpc/mm: Drop the unnecessary region check
powerpc/mm/hash: Simplify the region id calculation.
powerpc/mm: Print kernel map details to dmesg
powerpc/mm/hash: Rename KERNEL_REGION_ID to LINEAR_MAP_REGION_ID
powerpc/mm/hash/4K: Update the vmalloc start for hash 4K config
arch/powerpc/include/asm/book3s/64/hash-4k.h | 21 ++++
arch/powerpc/include/asm/book3s/64/hash-64k.h | 12 +++
arch/powerpc/include/asm/book3s/64/hash.h | 95 ++++++++++++-------
arch/powerpc/include/asm/book3s/64/mmu-hash.h | 42 ++++----
arch/powerpc/include/asm/book3s/64/mmu.h | 9 +-
arch/powerpc/include/asm/book3s/64/pgtable.h | 9 +-
arch/powerpc/include/asm/book3s/64/radix.h | 40 ++++----
arch/powerpc/include/asm/page.h | 11 ---
arch/powerpc/kernel/setup-common.c | 3 +
arch/powerpc/kvm/book3s_hv_rm_xics.c | 2 +-
arch/powerpc/mm/copro_fault.c | 18 ++--
arch/powerpc/mm/hash_utils_64.c | 45 ++++++---
arch/powerpc/mm/pgtable-hash64.c | 13 ++-
arch/powerpc/mm/pgtable-radix.c | 24 ++++-
arch/powerpc/mm/pgtable_64.c | 9 +-
arch/powerpc/mm/ptdump/hashpagetable.c | 2 +-
arch/powerpc/mm/ptdump/ptdump.c | 3 +-
arch/powerpc/mm/slb.c | 26 +++--
arch/powerpc/platforms/cell/spu_base.c | 4 +-
drivers/misc/cxl/fault.c | 2 +-
drivers/misc/ocxl/link.c | 2 +-
21 files changed, 254 insertions(+), 138 deletions(-)
--
2.20.1
More information about the Linuxppc-dev
mailing list