OSDN Git Service

powerpc/64: rtas avoid accessing paca in 32-bit mode
authorNicholas Piggin <npiggin@gmail.com>
Fri, 22 Dec 2017 11:17:10 +0000 (21:17 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 17 Jan 2018 13:42:58 +0000 (00:42 +1100)
commit47fee31dbdbd642d444c67a4df814339f6d8dd61
treec7bacb6814d67247e79df430ebac5114d6648182
parent98ae0069cb78ca4f5d14f203e3bb43874591123f
powerpc/64: rtas avoid accessing paca in 32-bit mode

Commit 177ba7c647f3 ("powerpc/mm/radix: Limit paca allocation in radix")
limited the paca allocation address to 1G on pSeries because RTAS return
accesses the paca in 32-bit mode:

    On return from RTAS we access the paca variables and we have 64 bit
    disabled. This requires us to limit paca in 32 bit range.

    Fix this by setting ppc64_rma_size to first_memblock_size/1G range.

Avoid this limit by switching to 64-bit mode before accessing any memory.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/entry_64.S