mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
powerpc/ftrace: Replace use of ftrace_call_replace() with ftrace_create_branch_inst()
ftrace_create_branch_inst() is clearer about its intent than ftrace_call_replace(). Signed-off-by: Naveen N Rao <naveen@kernel.org> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/953513b88fa922ba7a66d772dc1310710efe9177.1687166935.git.naveen@kernel.org
This commit is contained in:
parent
67385738e3
commit
a26ce4272e
|
|
@ -41,19 +41,6 @@ static ppc_inst_t ftrace_create_branch_inst(unsigned long ip, unsigned long addr
|
|||
return op;
|
||||
}
|
||||
|
||||
static ppc_inst_t
|
||||
ftrace_call_replace(unsigned long ip, unsigned long addr, int link)
|
||||
{
|
||||
ppc_inst_t op;
|
||||
|
||||
addr = ppc_function_entry((void *)addr);
|
||||
|
||||
/* if (link) set op to 'bl' else 'b' */
|
||||
create_branch(&op, (u32 *)ip, addr, link ? BRANCH_SET_LINK : 0);
|
||||
|
||||
return op;
|
||||
}
|
||||
|
||||
static inline int ftrace_read_inst(unsigned long ip, ppc_inst_t *op)
|
||||
{
|
||||
if (copy_inst_from_kernel_nofault(op, (void *)ip)) {
|
||||
|
|
@ -275,14 +262,14 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
|
|||
int ret;
|
||||
|
||||
old = ppc_inst_read((u32 *)&ftrace_call);
|
||||
new = ftrace_call_replace(ip, (unsigned long)func, 1);
|
||||
new = ftrace_create_branch_inst(ip, ppc_function_entry(func), 1);
|
||||
ret = ftrace_modify_code(ip, old, new);
|
||||
|
||||
/* Also update the regs callback function */
|
||||
if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS) && !ret) {
|
||||
ip = (unsigned long)(&ftrace_regs_call);
|
||||
old = ppc_inst_read((u32 *)&ftrace_regs_call);
|
||||
new = ftrace_call_replace(ip, (unsigned long)func, 1);
|
||||
new = ftrace_create_branch_inst(ip, ppc_function_entry(func), 1);
|
||||
ret = ftrace_modify_code(ip, old, new);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user