]> git.baikalelectronics.ru Git - kernel.git/commitdiff
powerpc/modules: Use PPC_LI macros instead of opencoding
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 9 May 2022 05:36:21 +0000 (07:36 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 22 May 2022 05:58:27 +0000 (15:58 +1000)
Use PPC_LI_MASK and PPC_LI() instead of opencoding.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/3d56d7bc3200403773d54e62659d0e01292a055d.1652074503.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/module_32.c
arch/powerpc/kernel/module_64.c

index e5a2f8fe048264a424659a9eab0a0213c1635481..ea653617177818fe0998fc37616b112613f0d757 100644 (file)
@@ -256,9 +256,8 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
                               value, (uint32_t)location);
                        pr_debug("Location before: %08X.\n",
                               *(uint32_t *)location);
-                       value = (*(uint32_t *)location & ~0x03fffffc)
-                               | ((value - (uint32_t)location)
-                                  & 0x03fffffc);
+                       value = (*(uint32_t *)location & ~PPC_LI_MASK) |
+                               PPC_LI(value - (uint32_t)location);
 
                        if (patch_instruction(location, ppc_inst(value)))
                                return -EFAULT;
@@ -266,10 +265,8 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
                        pr_debug("Location after: %08X.\n",
                               *(uint32_t *)location);
                        pr_debug("ie. jump to %08X+%08X = %08X\n",
-                              *(uint32_t *)location & 0x03fffffc,
-                              (uint32_t)location,
-                              (*(uint32_t *)location & 0x03fffffc)
-                              + (uint32_t)location);
+                                *(uint32_t *)PPC_LI((uint32_t)location), (uint32_t)location,
+                                (*(uint32_t *)PPC_LI((uint32_t)location)) + (uint32_t)location);
                        break;
 
                case R_PPC_REL32:
index 8542ad0244009cd151e402b26f93a196de68b44d..7e45dc98df8a136e08bf3b4af2b0f1d76086effa 100644 (file)
@@ -653,8 +653,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
                        }
 
                        /* Only replace bits 2 through 26 */
-                       value = (*(uint32_t *)location & ~0x03fffffc)
-                               | (value & 0x03fffffc);
+                       value = (*(uint32_t *)location & ~PPC_LI_MASK) | PPC_LI(value);
 
                        if (patch_instruction((u32 *)location, ppc_inst(value)))
                                return -EFAULT;