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

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1640d LANDED

Landed in mainline as 1a76e520ee18 on 2022-03-08.

3 messages, 3 authors, 2022-03-12 · open the first message on its own page

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

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2022-03-04 06:13:20

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 <redacted>
Reported-by: Naveen N. Rao <redacted>
Suggested-by: Christophe Leroy <redacted>
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
-- 
2.34.1

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

From: Arnd Bergmann <arnd@arndb.de>
Date: 2022-03-07 09:48:07

On Fri, Mar 4, 2022 at 7:12 AM Michael Ellerman [off-list ref] wrote:
quoted hunk
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 <redacted>
Reported-by: Naveen N. Rao <redacted>
Suggested-by: Christophe Leroy <redacted>
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

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

From: Michael Ellerman <hidden>
Date: 2022-03-12 10:33:43

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help