powerpc sstep: Add support for modsw, moduw instructions
This adds emulation support for the following integer instructions: * Modulo Signed Word (modsw) * Modulo Unsigned Word (moduw) Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> Signed-off-by: Sandipan Das <sandipan@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
3e751acba2
commit
6c18007150
|
@ -1708,6 +1708,13 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
|
|||
case 266: /* add */
|
||||
op->val = regs->gpr[ra] + regs->gpr[rb];
|
||||
goto arith_done;
|
||||
|
||||
case 267: /* moduw */
|
||||
if (!cpu_has_feature(CPU_FTR_ARCH_300))
|
||||
return -1;
|
||||
op->val = (unsigned int) regs->gpr[ra] %
|
||||
(unsigned int) regs->gpr[rb];
|
||||
goto compute_done;
|
||||
#ifdef __powerpc64__
|
||||
case 457: /* divdu */
|
||||
op->val = regs->gpr[ra] / regs->gpr[rb];
|
||||
|
@ -1750,6 +1757,13 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
|
|||
|
||||
return -1;
|
||||
|
||||
case 779: /* modsw */
|
||||
if (!cpu_has_feature(CPU_FTR_ARCH_300))
|
||||
return -1;
|
||||
op->val = (int) regs->gpr[ra] %
|
||||
(int) regs->gpr[rb];
|
||||
goto compute_done;
|
||||
|
||||
|
||||
/*
|
||||
* Logical instructions
|
||||
|
|
Loading…
Reference in New Issue