powerpc/booke64: Eemove mfspr srr1 duplicate in exception prolog
authorMihai Caraman <mihai.caraman@freescale.com>
Mon, 6 Aug 2012 03:27:06 +0000 (03:27 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 5 Sep 2012 05:35:49 +0000 (15:35 +1000)
commit79b5c8dbaa4528a6fd03a4d9d8a6d56a46293a3a
tree1513553a12f5bf406872d0de6e05aa47093bc807
parentfecff0f7243edaea33071865ee5e35839be44f10
powerpc/booke64: Eemove mfspr srr1 duplicate in exception prolog

Refactor exception prolog to get rid of mfspr srr1 duplicate. This was
introduced by KVM integration, with DO_KVM macro logic expecting srr1 value
earlier in r11.
Reserve r11 to hold srr1's value also required at the end of the prolog and
free up r10 to serve as spare in addition macros.
For syscalls case this change does not add any performance penalty. For irq
soft-disabled case the change adds a store/load of conditional register value
to/from a paca slot. Paca slots fit in one 64-byte cache line so these
additional operations have little impact on performance.

Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/exceptions-64e.S