On Fri, Mar 4, 2022 at 7:12 AM Michael Ellerman <m...@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 <l...@intel.com> > Reported-by: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> > Suggested-by: Christophe Leroy <christophe.le...@csgroup.eu> > Signed-off-by: Michael Ellerman <m...@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