64e does not have a PPR register. Signed-off-by: Nicholas Piggin <npig...@gmail.com> --- arch/powerpc/include/asm/ptrace.h | 4 +++- arch/powerpc/kernel/asm-offsets.c | 2 ++ arch/powerpc/kernel/interrupt_64.S | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index d37787a74342..a59bdc020195 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -50,8 +50,10 @@ struct pt_regs union { struct { -#ifdef CONFIG_PPC64 +#ifdef CONFIG_PPC_BOOK3S_64 unsigned long ppr; +#endif +#ifdef CONFIG_PPC64 unsigned long exit_result; #endif union { diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index 44d557dacc77..0b7828eff7ff 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c @@ -352,7 +352,9 @@ int main(void) STACK_PT_REGS_OFFSET(_ESR, dsisr); #else /* CONFIG_PPC64 */ STACK_PT_REGS_OFFSET(SOFTE, softe); +#ifdef CONFIG_PPC_BOOK3S_64 STACK_PT_REGS_OFFSET(_PPR, ppr); +#endif #endif /* CONFIG_PPC64 */ #ifdef CONFIG_PPC_PKEY diff --git a/arch/powerpc/kernel/interrupt_64.S b/arch/powerpc/kernel/interrupt_64.S index 2b68b1dea8bf..f28f41a1a85a 100644 --- a/arch/powerpc/kernel/interrupt_64.S +++ b/arch/powerpc/kernel/interrupt_64.S @@ -532,12 +532,12 @@ _ASM_NOKPROBE_SYMBOL(interrupt_return_\srr\()) lbz r4,PACAIRQSOFTMASK(r13) tdnei r4,IRQS_ENABLED +#ifdef CONFIG_PPC_BOOK3S BEGIN_FTR_SECTION ld r10,_PPR(r1) mtspr SPRN_PPR,r10 END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR) -#ifdef CONFIG_PPC_BOOK3S .ifc \srr,srr lbz r4,PACASRR_VALID(r13) .else -- 2.23.0