This patch series extended the max virtual address space value from 512TB to 4PB with 64K page size. We do that by allocating one vsid context for each 512TB range. More details of that is explained in patch 3.
Changes from V5: * Fix for loop segmentation fault. * updates from Michael Changes from V4: * Move context allocation to mmap time instead of SLB miss time * Address review comments Changes from V3: * move extended_id to be a union with mm_context_t id. This reduce some array index complexity. * Add addr_limit check when handling slb miss for extended context Changes from V2: * Rebased on top of slice_mask series from Nick Piggin * Fixed segfault when mmap with 512TB hint address Aneesh Kumar K.V (4): powerpc/mm/slice: Consolidate return path in slice_get_unmapped_area() powerpc/mm: Add support for handling > 512TB address in SLB miss powerpc/mm/hash64: Increase the VA range powerpc/mm/hash: Don't memset pgd table if not needed arch/powerpc/include/asm/book3s/64/hash-4k.h | 6 ++ arch/powerpc/include/asm/book3s/64/hash-64k.h | 8 +- arch/powerpc/include/asm/book3s/64/mmu.h | 33 +++++++- arch/powerpc/include/asm/book3s/64/pgalloc.h | 12 ++- arch/powerpc/include/asm/mmu_context.h | 39 ++++++++++ arch/powerpc/include/asm/processor.h | 15 +++- arch/powerpc/kernel/exceptions-64s.S | 11 ++- arch/powerpc/kernel/traps.c | 12 --- arch/powerpc/mm/copro_fault.c | 2 +- arch/powerpc/mm/hash_utils_64.c | 4 +- arch/powerpc/mm/init_64.c | 6 -- arch/powerpc/mm/mmu_context_book3s64.c | 15 +++- arch/powerpc/mm/pgtable-hash64.c | 6 +- arch/powerpc/mm/pgtable_64.c | 5 -- arch/powerpc/mm/slb.c | 108 ++++++++++++++++++++++++++ arch/powerpc/mm/slb_low.S | 11 ++- arch/powerpc/mm/slice.c | 49 ++++++++---- arch/powerpc/mm/tlb_hash64.c | 2 +- 18 files changed, 288 insertions(+), 56 deletions(-) -- 2.14.3