powerpc/sstep: Introduce GETTYPE macro
authorRavi Bangoria <ravi.bangoria@linux.ibm.com>
Mon, 21 May 2018 04:21:06 +0000 (09:51 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 3 Jun 2018 11:19:40 +0000 (21:19 +1000)
Replace 'op->type & INSTR_TYPE_MASK' expression with GETTYPE(op->type)
macro.

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/sstep.h
arch/powerpc/kernel/align.c
arch/powerpc/lib/sstep.c

index ab9d849..4547891 100644 (file)
@@ -97,6 +97,8 @@ enum instruction_type {
 #define SIZE(n)                ((n) << 12)
 #define GETSIZE(w)     ((w) >> 12)
 
+#define GETTYPE(t)     ((t) & INSTR_TYPE_MASK)
+
 #define MKOP(t, f, s)  ((t) | (f) | SIZE(s))
 
 struct instruction_op {
index 3e6c074..11550a3 100644 (file)
@@ -339,7 +339,7 @@ int fix_alignment(struct pt_regs *regs)
        if (r < 0)
                return -EINVAL;
 
-       type = op.type & INSTR_TYPE_MASK;
+       type = GETTYPE(op.type);
        if (!OP_IS_LOAD_STORE(type)) {
                if (op.type != CACHEOP + DCBZ)
                        return -EINVAL;
index 49427a3..f18d704 100644 (file)
@@ -2642,7 +2642,7 @@ void emulate_update_regs(struct pt_regs *regs, struct instruction_op *op)
        unsigned long next_pc;
 
        next_pc = truncate_if_32bit(regs->msr, regs->nip + 4);
-       switch (op->type & INSTR_TYPE_MASK) {
+       switch (GETTYPE(op->type)) {
        case COMPUTE:
                if (op->type & SETREG)
                        regs->gpr[op->reg] = op->val;
@@ -2740,7 +2740,7 @@ int emulate_loadstore(struct pt_regs *regs, struct instruction_op *op)
 
        err = 0;
        size = GETSIZE(op->type);
-       type = op->type & INSTR_TYPE_MASK;
+       type = GETTYPE(op->type);
        cross_endian = (regs->msr & MSR_LE) != (MSR_KERNEL & MSR_LE);
        ea = truncate_if_32bit(regs->msr, op->ea);
 
@@ -3002,7 +3002,7 @@ int emulate_step(struct pt_regs *regs, unsigned int instr)
        }
 
        err = 0;
-       type = op.type & INSTR_TYPE_MASK;
+       type = GETTYPE(op.type);
 
        if (OP_IS_LOAD_STORE(type)) {
                err = emulate_loadstore(regs, &op);