diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2020-08-18 15:57:45 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2020-09-01 09:58:05 +0200 |
commit | 1e7e47883830aae5e8246a22ca2fc6883c61acdf (patch) | |
tree | 225d6e2fc34af21e42996c0434f871486c586a2f /tools/objtool/sync-check.sh | |
parent | e6d6c071f22de29e4993784fc00cd2202b7ba149 (diff) | |
download | linux-stable-1e7e47883830aae5e8246a22ca2fc6883c61acdf.tar.gz linux-stable-1e7e47883830aae5e8246a22ca2fc6883c61acdf.tar.bz2 linux-stable-1e7e47883830aae5e8246a22ca2fc6883c61acdf.zip |
x86/static_call: Add inline static call implementation for x86-64
Add the inline static call implementation for x86-64. The generated code
is identical to the out-of-line case, except we move the trampoline into
it's own section.
Objtool uses the trampoline naming convention to detect all the call
sites. It then annotates those call sites in the .static_call_sites
section.
During boot (and module init), the call sites are patched to call
directly into the destination function. The temporary trampoline is
then no longer used.
[peterz: merged trampolines, put trampoline in section]
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20200818135804.864271425@infradead.org
Diffstat (limited to 'tools/objtool/sync-check.sh')
-rwxr-xr-x | tools/objtool/sync-check.sh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/objtool/sync-check.sh b/tools/objtool/sync-check.sh index 2a1261bfbb62..aa099b21dffa 100755 --- a/tools/objtool/sync-check.sh +++ b/tools/objtool/sync-check.sh @@ -7,6 +7,7 @@ arch/x86/include/asm/orc_types.h arch/x86/include/asm/emulate_prefix.h arch/x86/lib/x86-opcode-map.txt arch/x86/tools/gen-insn-attr-x86.awk +include/linux/static_call_types.h ' check_2 () { |