[PATCH 3/9] powerpc/64s: SLB miss already has CTR saved for relocatable kernel
Michael Ellerman
mpe at ellerman.id.au
Mon Jun 19 21:45:06 AEST 2017
Nicholas Piggin <npiggin at gmail.com> writes:
> The EXCEPTION_PROLOG_1 used by SLB miss already saves CTR when the
> kernel is built with CONFIG_RELOCATABLE. So it does not have to be
> saved and reloaded when branching to slb_miss_realmode. It can be
> restored from the PACA as usual.
>
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
> ---
> arch/powerpc/kernel/exceptions-64s.S | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
> index a4a71bce35d6..486e205cc762 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -519,7 +519,7 @@ EXC_REAL_BEGIN(data_access_slb, 0x380, 0x80)
> * because the distance from here to there depends on where
> * the kernel ends up being put.
> */
> - mfctr r11
> + /* CTR is saved if RELOCATABLE */
> LOAD_HANDLER(r10, slb_miss_realmode)
> mtctr r10
> bctr
AFAICS these can all use BRANCH_TO_COMMON().
So I'll drop all the comment additions from this and do a follow-up to
switch to BRANCH_TO_COMMON().
cheers
More information about the Linuxppc-dev
mailing list