[PATCH v3 0/6] Implement inline static calls on PPC32 - v3

Christophe Leroy christophe.leroy at csgroup.eu
Thu Sep 1 21:48:19 AEST 2022


This series applies on top of the series v2 "objtool: Enable and
implement --mcount option on powerpc" [1]

A few modifications are done to core parts to enable powerpc
implementation:
- R_X86_64_PC32 is abstracted to R_REL32 so that it can then be
redefined as R_PPC_REL32.
- A call to static_call_init() is added to start_kernel() to avoid
every architecture to have to call it
- Trampoline address is provided to arch_static_call_transform() even
when setting a site to fallback on a call to the trampoline when the
target is too far.

[1] https://lore.kernel.org/all/20220829055223.24767-8-sv@linux.ibm.com/T/

This version of the series includes a preliminary patch (patch 1) that
should be squashed into Sathvika's series.

Christophe Leroy (6):
  Fixup for "objtool/powerpc: Add --mcount specific implementation"
  objtool: Add architecture specific R_REL32 macro
  init: Call static_call_init() from start_kernel()
  static_call_inline: Provide trampoline address when updating sites
  powerpc: Prepare arch_static_call_transform() for supporting inline
    static calls
  powerpc/static_call: Implement inline static calls

 arch/powerpc/Kconfig                          |  1 +
 arch/powerpc/include/asm/static_call.h        |  2 +
 arch/powerpc/kernel/static_call.c             | 58 ++++++++++++++-----
 arch/x86/kernel/static_call.c                 |  2 +-
 init/main.c                                   |  1 +
 kernel/static_call_inline.c                   |  2 +-
 tools/objtool/arch/powerpc/decode.c           | 39 +++++++++----
 tools/objtool/arch/powerpc/include/arch/elf.h |  1 +
 tools/objtool/arch/x86/include/arch/elf.h     |  1 +
 tools/objtool/check.c                         | 10 ++--
 tools/objtool/orc_gen.c                       |  2 +-
 11 files changed, 85 insertions(+), 34 deletions(-)

-- 
2.37.1



More information about the Linuxppc-dev mailing list