Re: [PATCH v2] powerpc: sstep.c: Add modsw, moduw instruction emulation
flat view
From: Naveen N. Rao <hidden>
Date: 2016-12-13 06:03:24
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 <redacted> Thanks!
quoted hunk ↗ jump to hunk
Signed-off-by: PrasannaKumar Muralidharan <redacted> --- 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