[PATCH] powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E

Arnd Bergmann arnd at arndb.de
Mon Mar 7 20:47:14 AEDT 2022


On Fri, Mar 4, 2022 at 7:12 AM Michael Ellerman <mpe at ellerman.id.au> wrote:
>
> Since the IBM A2 CPU support was removed, see commit
> fb5a515704d7 ("powerpc: Remove platforms/wsp and associated pieces"),
> the only 64-bit Book3E CPUs we support are Freescale (NXP) ones.
>
> However our Kconfig still allows configurating a kernel that has 64-bit
> Book3E support, but no Freescale CPU support enabled. Such a kernel
> would never boot, it doesn't know about any CPUs.
>
> It also causes build errors, as reported by lkp, because
> PPC_BARRIER_NOSPEC is not enabled in such a configuration:
>
>   powerpc64-linux-ld: arch/powerpc/net/bpf_jit_comp64.o:(.toc+0x0):
>   undefined reference to `powerpc_security_features'
>
> To fix this, force PPC_FSL_BOOK3E to be selected whenever we are
> building a 64-bit Book3E kernel.
>
> Reported-by: kernel test robot <lkp at intel.com>
> Reported-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
> Suggested-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
>  arch/powerpc/platforms/Kconfig.cputype | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
> index 87bc1929ee5a..e2e1fec91c6e 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -107,6 +107,7 @@ config PPC_BOOK3S_64
>
>  config PPC_BOOK3E_64
>         bool "Embedded processors"
> +       select PPC_FSL_BOOK3E
>         select PPC_FPU # Make it a choice ?
>         select PPC_SMP_MUXED_IPI
>         select PPC_DOORBELL
> @@ -295,7 +296,7 @@ config FSL_BOOKE
>  config PPC_FSL_BOOK3E
>         bool
>         select ARCH_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
> -       select FSL_EMB_PERFMON
> +       imply FSL_EMB_PERFMON
>         select PPC_SMP_MUXED_IPI
>         select PPC_DOORBELL
>         select PPC_KUEP

'Imply' is almost never what you want here, this only has an effect
on the default used in 'defconfig' builds. I think this should be
expressed using a 'default PPC_FSL_BOOK3E' in the
FSL_EMB_PERFMON option if you actually want it to be optional,
better otherwise leave it as 'select'.

        Arnd


More information about the Linuxppc-dev mailing list