powerpc/mm: Add support for handling > 512TB address in SLB miss
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 26 Mar 2018 10:04:48 +0000 (15:34 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 30 Mar 2018 13:10:38 +0000 (00:10 +1100)
commitf384796c40dc55b3dba25e0ee9c1afd98c6d24d1
tree400e1127554c05abff89a9d09bac2b40f844eba7
parent0dea04b288c06654b0de3563c5b8cdfe6130e450
powerpc/mm: Add support for handling > 512TB address in SLB miss

For addresses above 512TB we allocate additional mmu contexts. To make
it all easy, addresses above 512TB are handled with IR/DR=1 and with
stack frame setup.

The mmu_context_t is also updated to track the new extended_ids. To
support upto 4PB we need a total 8 contexts.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[mpe: Minor formatting tweaks and comment wording, switch BUG to WARN
      in get_ea_context().]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
15 files changed:
arch/powerpc/include/asm/book3s/64/hash-4k.h
arch/powerpc/include/asm/book3s/64/hash-64k.h
arch/powerpc/include/asm/book3s/64/mmu.h
arch/powerpc/include/asm/mmu_context.h
arch/powerpc/include/asm/processor.h
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/traps.c
arch/powerpc/mm/copro_fault.c
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/mmu_context_book3s64.c
arch/powerpc/mm/pgtable-hash64.c
arch/powerpc/mm/slb.c
arch/powerpc/mm/slb_low.S
arch/powerpc/mm/slice.c
arch/powerpc/mm/tlb_hash64.c