Christoph Hellwig <hch@xxxxxx> writes: > Doing the indirection through macros for the regs accessors just > makes them harder to read, so implement the helpers directly. > > Note that only the helpers actually used are implemented now. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > arch/powerpc/include/asm/ptrace.h | 29 ++++++++++++++++++++++------- > 1 file changed, 22 insertions(+), 7 deletions(-) Looks fine, thanks. Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> cheers > diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h > index 64271e562fed..5d30944f1f6b 100644 > --- a/arch/powerpc/include/asm/ptrace.h > +++ b/arch/powerpc/include/asm/ptrace.h > @@ -108,18 +108,33 @@ struct pt_regs > > #ifndef __ASSEMBLY__ > > -#define GET_IP(regs) ((regs)->nip) > -#define GET_USP(regs) ((regs)->gpr[1]) > -#define GET_FP(regs) (0) > -#define SET_FP(regs, val) > +static inline unsigned long instruction_pointer(struct pt_regs *regs) > +{ > + return regs->nip; > +} > + > +static inline void instruction_pointer_set(struct pt_regs *regs, > + unsigned long val) > +{ > + regs->nip = val; > +} > + > +static inline unsigned long user_stack_pointer(struct pt_regs *regs) > +{ > + return regs->gpr[1]; > +} > + > +static inline unsigned long frame_pointer(struct pt_regs *regs) > +{ > + return 0; > +} > > #ifdef CONFIG_SMP > extern unsigned long profile_pc(struct pt_regs *regs); > -#define profile_pc profile_pc > +#else > +#define profile_pc(regs) instruction_pointer(regs) > #endif > > -#include <asm-generic/ptrace.h> > - > #define kernel_stack_pointer(regs) ((regs)->gpr[1]) > static inline int is_syscall_success(struct pt_regs *regs) > { > -- > 2.20.1