Hi, On 25/11/20 3:39 pm, Ravi Bangoria wrote: > >> diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c >> index 855457ed09b5..25a5436be6c6 100644 >> --- a/arch/powerpc/lib/sstep.c >> +++ b/arch/powerpc/lib/sstep.c >> @@ -2157,11 +2157,15 @@ int analyse_instr(struct instruction_op *op, const >> struct pt_regs *regs, >> case 23: /* lwzx */ >> case 55: /* lwzux */ >> + if (u && (ra == 0 || ra == rd)) >> + return -1; > > I guess you also need to split case 23 and 55? >
'u' takes care of that. It will be set for lwzux but not lwzx. - Sandipan