From: Sandipan Das Date: Fri, 22 Feb 2019 06:53:30 +0000 (+0530) Subject: powerpc sstep: Add support for extswsli instruction X-Git-Tag: v5.1-rc1~128^2~22 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=3e751acba2658d664dc593d284714073c38380a8;p=linux.git powerpc sstep: Add support for extswsli instruction This adds emulation support for the following integer instructions: * Extend-Sign Word and Shift Left Immediate (extswsli[.]) Signed-off-by: Sandipan Das Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 94189da4c159..742298bdf30b 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c @@ -1935,6 +1935,20 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, op->xerval &= ~XER_CA; set_ca32(op, op->xerval & XER_CA); goto logical_done; + + case 890: /* extswsli with sh_5 = 0 */ + case 891: /* extswsli with sh_5 = 1 */ + if (!cpu_has_feature(CPU_FTR_ARCH_300)) + return -1; + op->type = COMPUTE + SETREG; + sh = rb | ((instr & 2) << 4); + val = (signed int) regs->gpr[rd]; + if (sh) + op->val = ROTATE(val, sh) & MASK64(0, 63 - sh); + else + op->val = val; + goto logical_done; + #endif /* __powerpc64__ */ /*