This patch series increase the effective virtual address range of applications from 64TB to 128TB. We do that by supporting a 68 bit virtual address. On platforms that can only do 65 bit virtual address we limit the max contexts to a 16bit value instead of 19.
The patch series also switch the page table layout such that we can do 512TB effective address. Userspace can ask for allocation from the full 512TB address space by specifying hint address (with or without MAP_FIXED) above 128TB. Changes from V4: * Rebase to latest upstream * Add support 512TB mmap. Changes from V3: * Rebase to latest upstream * Fixes based on testing Changes from V2: * Handle hugepage size correctly. Aneesh Kumar K.V (17): powerpc/mm/slice: Convert slice_mask high slice to a bitmap powerpc/mm/slice: Update the function prototype powerpc/mm: Move copy_mm_to_paca to paca.c powerpc/mm: Remove redundant TASK_SIZE_USER64 checks powerpc/mm/slice: Move slice_mask struct definition to slice.c powerpc/mm/slice: Update slice mask printing to use bitmap printing. powerpc/mm/hash: Move kernel context to the starting of context range powerpc/mm/hash: Support 68 bit VA powerpc/mm/hash: VSID 0 is no more an invalid VSID powerpc/mm/hash: Convert mask to unsigned long powerpc/mm/hash: Increase VA range to 128TB powerpc/mm/slice: Use mm task_size as max value of slice index powerpc/mm/hash: Store task size in PACA powerpc/mm/hash: Skip using reserved virtual address range powerpc/mm: Switch TASK_SIZE check to use mm->task_size mm: Let arch choose the initial value of task size powerpc/mm: Enable mappings above 128TB arch/powerpc/include/asm/book3s/64/hash-4k.h | 2 +- arch/powerpc/include/asm/book3s/64/hash-64k.h | 2 +- arch/powerpc/include/asm/book3s/64/mmu-hash.h | 178 ++++++++++-------- arch/powerpc/include/asm/kvm_book3s_64.h | 2 - arch/powerpc/include/asm/mmu.h | 19 +- arch/powerpc/include/asm/mmu_context.h | 3 +- arch/powerpc/include/asm/paca.h | 22 +-- arch/powerpc/include/asm/page_64.h | 14 -- arch/powerpc/include/asm/processor.h | 45 ++++- arch/powerpc/kernel/asm-offsets.c | 4 + arch/powerpc/kernel/paca.c | 21 +++ arch/powerpc/kernel/setup-common.c | 9 + arch/powerpc/kvm/book3s_64_mmu_host.c | 10 +- arch/powerpc/mm/hash_utils_64.c | 86 +++++++-- arch/powerpc/mm/hugetlbpage-radix.c | 11 +- arch/powerpc/mm/init_64.c | 4 - arch/powerpc/mm/mmap.c | 41 +++-- arch/powerpc/mm/mmu_context_book3s64.c | 130 ++++++++++--- arch/powerpc/mm/pgtable-hash64.c | 1 - arch/powerpc/mm/pgtable_64.c | 5 - arch/powerpc/mm/slb.c | 2 +- arch/powerpc/mm/slb_low.S | 82 ++++++--- arch/powerpc/mm/slice.c | 253 ++++++++++++++++---------- arch/powerpc/mm/subpage-prot.c | 3 +- arch/powerpc/mm/tlb_hash64.c | 1 - fs/exec.c | 10 +- 26 files changed, 631 insertions(+), 329 deletions(-) -- 2.7.4