| From: |
| Christophe Leroy <christophe.leroy-AT-csgroup.eu> |
| To: |
| Michael Ellerman <mpe-AT-ellerman.id.au>, Nicholas Piggin <npiggin-AT-gmail.com>, sv-AT-linux.ibm.com, bgray-AT-linux.ibm.com, agust-AT-denx.de, jpoimboe-AT-kernel.org, peterz-AT-infradead.org, jbaron-AT-akamai.com, rostedt-AT-goodmis.org, ardb-AT-kernel.org, tglx-AT-linutronix.de, mingo-AT-redhat.com, bp-AT-alien8.de, dave.hansen-AT-linux.intel.com, hpa-AT-zytor.com |
| Subject: |
| [PATCH v3 0/6] Implement inline static calls on PPC32 - v3 |
| Date: |
| Thu, 01 Sep 2022 13:48:19 +0200 |
| Message-ID: |
| <cover.1662032631.git.christophe.leroy@csgroup.eu> |
| Cc: |
| Christophe Leroy <christophe.leroy-AT-csgroup.eu>, linux-kernel-AT-vger.kernel.org, linuxppc-dev-AT-lists.ozlabs.org, x86-AT-kernel.org, chenzhongjin-AT-huawei.com |
| Archive-link: |
| Article |
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@lin...
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