Re: [PATCH] powerpc/fsl: Fix the flush of branch predictor.

From: Daniel Axtens
Date: Tue Feb 26 2019 - 22:37:31 EST


Christophe Leroy <christophe.leroy@xxxxxx> writes:

> The commit identified below adds MC_BTB_FLUSH macro only when
> CONFIG_PPC_FSL_BOOK3E is defined. This results in the following error
> on some configs (seen several times with kisskb randconfig_defconfig)
>
> arch/powerpc/kernel/exceptions-64e.S:576: Error: Unrecognized opcode: `mc_btb_flush'
> make[3]: *** [scripts/Makefile.build:367: arch/powerpc/kernel/exceptions-64e.o] Error 1
> make[2]: *** [scripts/Makefile.build:492: arch/powerpc/kernel] Error 2
> make[1]: *** [Makefile:1043: arch/powerpc] Error 2
> make: *** [Makefile:152: sub-make] Error 2
>
> This patch adds a blank definition of MC_BTB_FLUSH for other cases.
>
> Fixes: 10c5e83afd4a ("powerpc/fsl: Flush the branch predictor at each kernel entry (64bit)")
> Cc: Diana Craciun <diana.craciun@xxxxxxx>
> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
> ---
> arch/powerpc/kernel/exceptions-64e.S | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
> index 4549ce8d4637..49381f32b374 100644
> --- a/arch/powerpc/kernel/exceptions-64e.S
> +++ b/arch/powerpc/kernel/exceptions-64e.S
> @@ -338,6 +338,7 @@ ret_from_mc_except:
> #define GEN_BTB_FLUSH
> #define CRIT_BTB_FLUSH
> #define DBG_BTB_FLUSH
> +#define MC_BTB_FLUSH
> #define GDBELL_BTB_FLUSH

This seems correct to me:

- MC_BTB_FLUSH gets a definition in the CONFIG_PPC_FSL_BOOK3E case.

- other things that are defined in the FSL_BOOK3E case get empty
definitions in the #else branch, but MC_BTB_FLUSH doesn't.

- this patch just adds that empty definition.

- there are no other definitions of MC_BTB_FLUSH that should be used
instead.

Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx>

Regards,
Daniel

> #endif
>
> --
> 2.13.3