aboutsummaryrefslogtreecommitdiff
path: root/arch/parisc/kernel/module.c
diff options
context:
space:
mode:
authorMark Rutland <[email protected]>2019-10-16 17:51:10 +0100
committerMark Rutland <[email protected]>2019-11-06 14:17:13 +0000
commitfbf6c73c5b264c25484fa9f449b5546569fe11f0 (patch)
treed14e5d8d6c80cece77271e30173124dd23fb75ef /arch/parisc/kernel/module.c
parent4f5cafb5cb8471e54afdc9054d973535614f7675 (diff)
ftrace: add ftrace_init_nop()
Architectures may need to perform special initialization of ftrace callsites, and today they do so by special-casing ftrace_make_nop() when the expected branch address is MCOUNT_ADDR. In some cases (e.g. for patchable-function-entry), we don't have an mcount-like symbol and don't want a synthetic MCOUNT_ADDR, but we may need to perform some initialization of callsites. To make it possible to separate initialization from runtime modification, and to handle cases without an mcount-like symbol, this patch adds an optional ftrace_init_nop() function that architectures can implement, which does not pass a branch address. Where an architecture does not provide ftrace_init_nop(), we will fall back to the existing behaviour of calling ftrace_make_nop() with MCOUNT_ADDR. At the same time, ftrace_code_disable() is renamed to ftrace_nop_initialize() to make it clearer that it is intended to intialize a callsite into a disabled state, and is not for disabling a callsite that has been runtime enabled. The kerneldoc description of rec arguments is updated to cover non-mcount callsites. Signed-off-by: Mark Rutland <[email protected]> Reviewed-by: Amit Daniel Kachhap <[email protected]> Reviewed-by: Ard Biesheuvel <[email protected]> Reviewed-by: Miroslav Benes <[email protected]> Reviewed-by: Steven Rostedt (VMware) <[email protected]> Reviewed-by: Torsten Duwe <[email protected]> Tested-by: Amit Daniel Kachhap <[email protected]> Tested-by: Sven Schnelle <[email protected]> Tested-by: Torsten Duwe <[email protected]> Cc: Ingo Molnar <[email protected]>
Diffstat (limited to 'arch/parisc/kernel/module.c')
0 files changed, 0 insertions, 0 deletions