powerpc/64s: Fix hypercall entry clobbering r12 input
authorNicholas Piggin <npiggin@gmail.com>
Tue, 18 Jul 2017 05:32:44 +0000 (15:32 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 18 Jul 2017 06:45:11 +0000 (16:45 +1000)
commit76fc0cfcc5b0f520062ca6d7225b224d4a8aa828
treea864cd3c7a3f4713d916fb11aa4523b56cfa3502
parent101dd590a7fa37954540cf3149a1c502c0acc524
powerpc/64s: Fix hypercall entry clobbering r12 input

A previous optimisation incorrectly assumed the PAPR hcall does
not use r12, and clobbers it upon entry. In fact it is used as
an input. This can result in KVM guests crashing (observed with
PR KVM).

Instead of using r12 to save r13, tihs patch saves r13 in ctr.
This is more costly, but not as slow as using the SPRG.

Fixes: acd7d8cef0153 ("powerpc/64s: Optimize hypercall/syscall entry")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/exceptions-64s.S