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

Daniel Axtens dja at axtens.net
Wed Feb 27 14:37:20 AEDT 2019


Christophe Leroy <christophe.leroy at c-s.fr> 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 at nxp.com>
> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
> ---
>  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 at axtens.net>

Regards,
Daniel

>  #endif
>  
> -- 
> 2.13.3


More information about the Linuxppc-dev mailing list