]> git.baikalelectronics.ru Git - kernel.git/commitdiff
powerpc/lib/sstep: use truncate_if_32bit()
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Fri, 21 Jan 2022 08:06:38 +0000 (08:06 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 12 Feb 2022 11:47:43 +0000 (22:47 +1100)
Use truncate_if_32bit() when possible instead of open coding.

truncate_if_32bit() returns an unsigned long, so don't use it when
a signed value is expected.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/7e1c07123f13156d4a27991a2e2694fb584bc068.1642752375.git.christophe.leroy@csgroup.eu
arch/powerpc/lib/sstep.c

index 4aabe3854484192d1b62b5c5a188197814a859c1..ca38d026fd88c1b4be5a7a34accdcdfd00b757eb 100644 (file)
@@ -1065,8 +1065,7 @@ int emulate_dcbz(unsigned long ea, struct pt_regs *regs)
        int err;
        unsigned long size = l1_dcache_bytes();
 
-       if (!(regs->msr & MSR_64BIT))
-               ea &= 0xffffffffUL;
+       ea = truncate_if_32bit(regs->msr, ea);
        ea &= ~(size - 1);
        if (!address_ok(regs, ea, size))
                return -EFAULT;
@@ -1164,10 +1163,8 @@ static nokprobe_inline void add_with_carry(const struct pt_regs *regs,
        op->type = COMPUTE + SETREG + SETXER;
        op->reg = rd;
        op->val = val;
-       if (!(regs->msr & MSR_64BIT)) {
-               val = (unsigned int) val;
-               val1 = (unsigned int) val1;
-       }
+       val = truncate_if_32bit(regs->msr, val);
+       val1 = truncate_if_32bit(regs->msr, val1);
        op->xerval = regs->xer;
        if (val < val1 || (carry_in && val == val1))
                op->xerval |= XER_CA;