[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1657301423.git.christophe.leroy@csgroup.eu>
Date: Fri, 8 Jul 2022 19:31:19 +0200
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Michael Ellerman <mpe@...erman.id.au>,
Nicholas Piggin <npiggin@...il.com>, sv@...ux.ibm.com,
agust@...x.de, jpoimboe@...nel.org, peterz@...radead.org,
jbaron@...mai.com, rostedt@...dmis.org, ardb@...nel.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, hpa@...or.com
Cc: Christophe Leroy <christophe.leroy@...roup.eu>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
x86@...nel.org, chenzhongjin@...wei.com
Subject: [PATCH v2 0/7] Implement inline static calls on PPC32 - v2
This series applies on top of the series v3 "objtool: Enable and
implement --mcount option on powerpc" [1] rebased on powerpc-next branch
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/lkml/70b6d08d-aced-7f4e-b958-a3c7ae1a9319@csgroup.eu/T/#rb3a073c54aba563a135fba891e0c34c46e47beef
Christophe Leroy (7):
powerpc: Add missing asm/asm.h for objtool
objtool/powerpc: Activate objtool on PPC32
objtool: Add architecture specific R_REL32 macro
objtool/powerpc: Add necessary support for inline static calls
init: Call static_call_init() from start_kernel()
static_call_inline: Provide trampoline address when updating sites
powerpc/static_call: Implement inline static calls
arch/powerpc/Kconfig | 3 +-
arch/powerpc/include/asm/asm.h | 7 +++
arch/powerpc/include/asm/static_call.h | 2 +
arch/powerpc/kernel/cpu_setup_6xx.S | 26 ++++++---
arch/powerpc/kernel/cpu_setup_fsl_booke.S | 8 ++-
arch/powerpc/kernel/entry_32.S | 8 ++-
arch/powerpc/kernel/head_40x.S | 5 +-
arch/powerpc/kernel/head_8xx.S | 5 +-
arch/powerpc/kernel/head_book3s_32.S | 29 +++++++---
arch/powerpc/kernel/head_fsl_booke.S | 5 +-
arch/powerpc/kernel/static_call.c | 56 ++++++++++++++-----
arch/powerpc/kernel/swsusp_32.S | 5 +-
arch/powerpc/kvm/fpu.S | 17 ++++--
arch/powerpc/platforms/52xx/lite5200_sleep.S | 15 +++--
arch/x86/kernel/static_call.c | 2 +-
init/main.c | 1 +
kernel/static_call_inline.c | 2 +-
tools/objtool/arch/powerpc/decode.c | 16 ++++--
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 +-
22 files changed, 162 insertions(+), 64 deletions(-)
create mode 100644 arch/powerpc/include/asm/asm.h
--
2.36.1
Powered by blists - more mailing lists