powerpc/64s: Relax PACA address limitations
authorNicholas Piggin <npiggin@gmail.com>
Fri, 22 Dec 2017 11:17:13 +0000 (21:17 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 18 Jan 2018 04:42:48 +0000 (15:42 +1100)
commit1af19331a3a18296a918802dbe032a13328e264d
tree5811f6ccdf8a7dff2e78d289b39eaf72e5ca73ff
parentc610d65c0ad00f1b7bfe2f1eb8f867ca74741685
powerpc/64s: Relax PACA address limitations

Book3S PACA memory allocation is restricted by the RMA limit and also
must not take SLB faults when accessed in virtual mode. Currently a
fixed 256MB limit is used for this, which is imprecise and sub-optimal.

Update the paca allocation limits to use use the ppc64_rma_size for RMA
limit, and share the safe_stack_limit() that is currently used for stack
allocations that must not take virtual mode faults.

The safe_stack_limit() name is changed to ppc64_bolted_size() to match
ppc64_rma_size and some comments are updated. We also need to use
early_mmu_has_feature() because we are now calling this function prior
to the jump label patching that enables mmu_has_feature().

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Change mmu_has_feature() to early_mmu_has_feature()]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/paca.c
arch/powerpc/kernel/setup.h
arch/powerpc/kernel/setup_64.c