Messages in this thread | | | From | Christophe Leroy <> | Subject | [RFC PATCH v1 0/4] Implement inline static calls on PPC32 | Date | Wed, 25 May 2022 17:58:13 +0200 |
| |
This is first draft for implementing inline static calls on PPC32.
This series applies on top of the series v2 "objtool: Enable and implement --mcount option on powerpc"
For the time being only the case where functions are within 'bl' reach is supported. Otherwise panic() is invoked.
For the other case, we'll need to use the trampoline we have at startup before initialising inline static calls. But it seems that at the time being once inline static calls are initialised we don't know anymore where the trampoline was. We'd need to keep the information somewhere (is the static_call_key ?) We may also need to keep the information for when the trampoline itself is out of 'bl' reach, in that case there is a trampoline setup by the compiler and we'll need to remind the location of that trampoline. Guess it should get saved somewhere when we initialise inline static calls ?
Christophe Leroy (4): Revert "objtool: Enable objtool to run only on files with ftrace enabled" objtool: Add R_REL32 macro static_call: Call static_call_init() from start_kernel() 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 | 41 ++++++++++++------- init/main.c | 1 + scripts/Makefile.build | 4 +- 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 +- 9 files changed, 41 insertions(+), 22 deletions(-)
-- 2.35.3
| |