powerpc/32s: Use SPRN_SPRG_SCRATCH2 in DSI prolog
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Wed, 25 Nov 2020 07:10:52 +0000 (07:10 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Dec 2020 14:01:32 +0000 (01:01 +1100)
commitde1cd0790697e67b728de43e8657bb52f528bfb9
treeab5eed22b35ceaacf8fa6816eec67f8492951c2c
parent6285f9cff570bfd07b542840912c1d01bd5428e0
powerpc/32s: Use SPRN_SPRG_SCRATCH2 in DSI prolog

Use SPRN_SPRG_SCRATCH2 as an alternative scratch register in
the early part of DSI prolog in order to avoid clobbering
SPRN_SPRG_SCRATCH0/1 used by other prologs.

The 603 doesn't like a jump from DataLoadTLBMiss to the 10 nops
that are now in the beginning of DSI exception as a result of
the feature section. To workaround this, add a jump as alternative.
It also avoids fetching 10 nops for nothing.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/f9f8df2a2be93568768ef1ac793639f7914cf103.1606285014.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/head_book3s_32.S