On 03/02/21 3:19 pm, Naveen N. Rao wrote: > [...] > > Wouldn't it be easier to just do the below at the end? Or, am I missing > something? > > diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c > index ede093e9623472..a2d726d2a5e9d1 100644 > --- a/arch/powerpc/lib/sstep.c > +++ b/arch/powerpc/lib/sstep.c > @@ -2980,6 +2980,10 @@ int analyse_instr(struct instruction_op *op, const > struct pt_regs *regs, > } > #endif /* CONFIG_VSX */ > > + if (GETTYPE(op->type) == LOAD && (op->type & UPDATE) && > + (ra == 0 || ra == rd)) > + goto unknown_opcode; > + > return 0; > > logical_done: >
Thanks that's much cleaner! We might need something similar for the FP load/store and update instructions where an instruction is invalid if RA is 0. I'll send a new revision with these changes. - Sandipan