[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