powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E

Message ID 20240207092758.1058893-1-david.engraf@sysgo.com
State New
Headers
Series powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E |

Commit Message

David Engraf Feb. 7, 2024, 9:27 a.m. UTC
  Commit e320a76db4b0 ("powerpc/cputable: Split cpu_specs[] out of cputable.h")
moved the cpu_specs to separate header files. Previously PPC_FEATURE_BOOKE
was enabled by CONFIG_PPC_BOOK3E_64. The definition in cpu_specs_e500mc.h
for PPC64 no longer enables PPC_FEATURE_BOOKE.

This breaks user space reading the ELF hwcaps and expect PPC_FEATURE_BOOKE.
Debugging an application with gdb is no longer working on e5500/e6500
because the 64-bit detection relies on PPC_FEATURE_BOOKE for Book-E.

Fixes: e320a76db4b0 ("powerpc/cputable: Split cpu_specs[] out of cputable.h")
Signed-off-by: David Engraf <david.engraf@sysgo.com>
---
 arch/powerpc/kernel/cpu_specs_e500mc.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Christophe Leroy Feb. 12, 2024, 1:24 p.m. UTC | #1
Le 07/02/2024 à 10:27, David Engraf a écrit :
> [Vous ne recevez pas souvent de courriers de david.engraf@sysgo.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
> 
> Commit e320a76db4b0 ("powerpc/cputable: Split cpu_specs[] out of cputable.h")
> moved the cpu_specs to separate header files. Previously PPC_FEATURE_BOOKE
> was enabled by CONFIG_PPC_BOOK3E_64. The definition in cpu_specs_e500mc.h
> for PPC64 no longer enables PPC_FEATURE_BOOKE.
> 
> This breaks user space reading the ELF hwcaps and expect PPC_FEATURE_BOOKE.
> Debugging an application with gdb is no longer working on e5500/e6500
> because the 64-bit detection relies on PPC_FEATURE_BOOKE for Book-E.
> 
> Fixes: e320a76db4b0 ("powerpc/cputable: Split cpu_specs[] out of cputable.h")
> Signed-off-by: David Engraf <david.engraf@sysgo.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/powerpc/kernel/cpu_specs_e500mc.h | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/kernel/cpu_specs_e500mc.h b/arch/powerpc/kernel/cpu_specs_e500mc.h
> index ceb06b109f831..2ae8e9a7b461c 100644
> --- a/arch/powerpc/kernel/cpu_specs_e500mc.h
> +++ b/arch/powerpc/kernel/cpu_specs_e500mc.h
> @@ -8,7 +8,8 @@
> 
>   #ifdef CONFIG_PPC64
>   #define COMMON_USER_BOOKE      (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
> -                                PPC_FEATURE_HAS_FPU | PPC_FEATURE_64)
> +                                PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \
> +                                PPC_FEATURE_BOOKE)
>   #else
>   #define COMMON_USER_BOOKE      (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
>                                   PPC_FEATURE_BOOKE)
> --
> 2.40.1
>
  
Michael Ellerman Feb. 15, 2024, 12:57 p.m. UTC | #2
On Wed, 07 Feb 2024 10:27:58 +0100, David Engraf wrote:
> Commit e320a76db4b0 ("powerpc/cputable: Split cpu_specs[] out of cputable.h")
> moved the cpu_specs to separate header files. Previously PPC_FEATURE_BOOKE
> was enabled by CONFIG_PPC_BOOK3E_64. The definition in cpu_specs_e500mc.h
> for PPC64 no longer enables PPC_FEATURE_BOOKE.
> 
> This breaks user space reading the ELF hwcaps and expect PPC_FEATURE_BOOKE.
> Debugging an application with gdb is no longer working on e5500/e6500
> because the 64-bit detection relies on PPC_FEATURE_BOOKE for Book-E.
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
      https://git.kernel.org/powerpc/c/eb6d871f4ba49ac8d0537e051fe983a3a4027f61

cheers
  

Patch

diff --git a/arch/powerpc/kernel/cpu_specs_e500mc.h b/arch/powerpc/kernel/cpu_specs_e500mc.h
index ceb06b109f831..2ae8e9a7b461c 100644
--- a/arch/powerpc/kernel/cpu_specs_e500mc.h
+++ b/arch/powerpc/kernel/cpu_specs_e500mc.h
@@ -8,7 +8,8 @@ 
 
 #ifdef CONFIG_PPC64
 #define COMMON_USER_BOOKE	(PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
-				 PPC_FEATURE_HAS_FPU | PPC_FEATURE_64)
+				 PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \
+				 PPC_FEATURE_BOOKE)
 #else
 #define COMMON_USER_BOOKE	(PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
 				 PPC_FEATURE_BOOKE)