diff mbox series

powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E

Message ID 20220304061222.2478720-1-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show
Series powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 24 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 7 jobs.

Commit Message

Michael Ellerman March 4, 2022, 6:12 a.m. UTC
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@intel.com>
Reported-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/platforms/Kconfig.cputype | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Arnd Bergmann March 7, 2022, 9:47 a.m. UTC | #1
On Fri, Mar 4, 2022 at 7:12 AM Michael Ellerman <mpe@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@intel.com>
> Reported-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
> Signed-off-by: Michael Ellerman <mpe@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
Michael Ellerman March 12, 2022, 10:29 a.m. UTC | #2
On Fri, 4 Mar 2022 17:12:22 +1100, Michael Ellerman 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.
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E
      https://git.kernel.org/powerpc/c/1a76e520ee1831a81dabf8a9a58c6453f700026e

cheers
diff mbox series

Patch

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