On 2016/12/07 11:15PM, PrasannaKumar Muralidharan wrote: > Add modsw and moduw instruction emulation support to analyse_instr. > modsw is an x-form instruction that calculates signed modulo of values > stored in registers. moduw is similar to modsw but it works with > unsigned values. > > Changes in v2: > Don't update CR register as the instruction does not touch that > Arrange extended opcode in numerical order
This changelog should come after '---' below so that it doesn't get included in the commit message. Apart from that, for this patch: Reviewed-by: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> Thanks! > > Signed-off-by: PrasannaKumar Muralidharan <prasannatsmku...@gmail.com> > --- > arch/powerpc/lib/sstep.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c > index 9c78a9c..b0acdbc 100644 > --- a/arch/powerpc/lib/sstep.c > +++ b/arch/powerpc/lib/sstep.c > @@ -1128,6 +1128,11 @@ int __kprobes analyse_instr(struct instruction_op *op, > struct pt_regs *regs, > case 266: /* add */ > regs->gpr[rd] = regs->gpr[ra] + regs->gpr[rb]; > goto arith_done; > + > + case 267: /* moduw */ > + regs->gpr[rd] = (unsigned int) regs->gpr[ra] % > + (unsigned int) regs->gpr[rb]; > + goto instr_done; > #ifdef __powerpc64__ > case 457: /* divdu */ > regs->gpr[rd] = regs->gpr[ra] / regs->gpr[rb]; > @@ -1148,6 +1153,10 @@ int __kprobes analyse_instr(struct instruction_op *op, > struct pt_regs *regs, > (int) regs->gpr[rb]; > goto arith_done; > > + case 779: /* modsw */ > + regs->gpr[rd] = (int) regs->gpr[ra] % > + (int) regs->gpr[rb]; > + goto instr_done; > > /* > * Logical instructions > -- > 2.9.3 >