mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 14:56:47 +07:00
riscv: Remove the 'riscv_' prefix of function name
Refactor the function name by removing the 'riscv_' prefix, it would be better unless it could mix up with arch-independent functions. Signed-off-by: Zong Li <zong.li@sifive.com> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
This commit is contained in:
parent
edde5584c7
commit
b80b3d582e
@ -6,7 +6,7 @@
|
|||||||
#ifndef _ASM_RISCV_PATCH_H
|
#ifndef _ASM_RISCV_PATCH_H
|
||||||
#define _ASM_RISCV_PATCH_H
|
#define _ASM_RISCV_PATCH_H
|
||||||
|
|
||||||
int riscv_patch_text_nosync(void *addr, const void *insns, size_t len);
|
int patch_text_nosync(void *addr, const void *insns, size_t len);
|
||||||
int riscv_patch_text(void *addr, u32 insn);
|
int patch_text(void *addr, u32 insn);
|
||||||
|
|
||||||
#endif /* _ASM_RISCV_PATCH_H */
|
#endif /* _ASM_RISCV_PATCH_H */
|
||||||
|
@ -51,7 +51,7 @@ static int __ftrace_modify_call(unsigned long hook_pos, unsigned long target,
|
|||||||
make_call(hook_pos, target, call);
|
make_call(hook_pos, target, call);
|
||||||
|
|
||||||
/* Replace the auipc-jalr pair at once. Return -EPERM on write error. */
|
/* Replace the auipc-jalr pair at once. Return -EPERM on write error. */
|
||||||
if (riscv_patch_text_nosync
|
if (patch_text_nosync
|
||||||
((void *)hook_pos, enable ? call : nops, MCOUNT_INSN_SIZE))
|
((void *)hook_pos, enable ? call : nops, MCOUNT_INSN_SIZE))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/fixmap.h>
|
#include <asm/fixmap.h>
|
||||||
|
|
||||||
struct riscv_insn_patch {
|
struct patch_insn {
|
||||||
void *addr;
|
void *addr;
|
||||||
u32 insn;
|
u32 insn;
|
||||||
atomic_t cpu_count;
|
atomic_t cpu_count;
|
||||||
@ -43,7 +43,7 @@ static void __kprobes patch_unmap(int fixmap)
|
|||||||
clear_fixmap(fixmap);
|
clear_fixmap(fixmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __kprobes riscv_insn_write(void *addr, const void *insn, size_t len)
|
static int __kprobes patch_insn_write(void *addr, const void *insn, size_t len)
|
||||||
{
|
{
|
||||||
void *waddr = addr;
|
void *waddr = addr;
|
||||||
bool across_pages = (((uintptr_t) addr & ~PAGE_MASK) + len) > PAGE_SIZE;
|
bool across_pages = (((uintptr_t) addr & ~PAGE_MASK) + len) > PAGE_SIZE;
|
||||||
@ -69,18 +69,18 @@ static int __kprobes riscv_insn_write(void *addr, const void *insn, size_t len)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static int __kprobes riscv_insn_write(void *addr, const void *insn, size_t len)
|
static int __kprobes patch_insn_write(void *addr, const void *insn, size_t len)
|
||||||
{
|
{
|
||||||
return probe_kernel_write(addr, insn, len);
|
return probe_kernel_write(addr, insn, len);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_MMU */
|
#endif /* CONFIG_MMU */
|
||||||
|
|
||||||
int __kprobes riscv_patch_text_nosync(void *addr, const void *insns, size_t len)
|
int __kprobes patch_text_nosync(void *addr, const void *insns, size_t len)
|
||||||
{
|
{
|
||||||
u32 *tp = addr;
|
u32 *tp = addr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = riscv_insn_write(tp, insns, len);
|
ret = patch_insn_write(tp, insns, len);
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
flush_icache_range((uintptr_t) tp, (uintptr_t) tp + len);
|
flush_icache_range((uintptr_t) tp, (uintptr_t) tp + len);
|
||||||
@ -88,14 +88,14 @@ int __kprobes riscv_patch_text_nosync(void *addr, const void *insns, size_t len)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __kprobes riscv_patch_text_cb(void *data)
|
static int __kprobes patch_text_cb(void *data)
|
||||||
{
|
{
|
||||||
struct riscv_insn_patch *patch = data;
|
struct patch_insn *patch = data;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (atomic_inc_return(&patch->cpu_count) == 1) {
|
if (atomic_inc_return(&patch->cpu_count) == 1) {
|
||||||
ret =
|
ret =
|
||||||
riscv_patch_text_nosync(patch->addr, &patch->insn,
|
patch_text_nosync(patch->addr, &patch->insn,
|
||||||
GET_INSN_LENGTH(patch->insn));
|
GET_INSN_LENGTH(patch->insn));
|
||||||
atomic_inc(&patch->cpu_count);
|
atomic_inc(&patch->cpu_count);
|
||||||
} else {
|
} else {
|
||||||
@ -107,14 +107,14 @@ static int __kprobes riscv_patch_text_cb(void *data)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __kprobes riscv_patch_text(void *addr, u32 insn)
|
int __kprobes patch_text(void *addr, u32 insn)
|
||||||
{
|
{
|
||||||
struct riscv_insn_patch patch = {
|
struct patch_insn patch = {
|
||||||
.addr = addr,
|
.addr = addr,
|
||||||
.insn = insn,
|
.insn = insn,
|
||||||
.cpu_count = ATOMIC_INIT(0),
|
.cpu_count = ATOMIC_INIT(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
return stop_machine_cpuslocked(riscv_patch_text_cb,
|
return stop_machine_cpuslocked(patch_text_cb,
|
||||||
&patch, cpu_online_mask);
|
&patch, cpu_online_mask);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user