[PATCH v2 0/4] Add uprobes support for LoongArch

From: Tiezhu Yang
Date: Fri Apr 14 2023 - 05:33:15 EST


v2:
-- Move the functions to inst.c in patch #1
-- Pass around union for insns_not_supported(),
insns_need_simulation() and arch_simulate_insn()

v1:
-- Split the RFC patch #2 into two patches
-- Use larch_insn_gen_break() to generate break insns
for kprobes and uprobes
-- Pass around instruction word instead of union for
insns_not_supported(), insns_need_simulation() and
arch_simulate_insn() to avoid type conversion for callers
-- Add a simple test case for uprobes in the commit message

Tiezhu Yang (4):
LoongArch: Move three functions from kprobes.c to inst.c
LoongArch: Add larch_insn_gen_break() to generate break insns
LoongArch: Use larch_insn_gen_break() for kprobes
LoongArch: Add uprobes support

arch/loongarch/Kconfig | 3 +
arch/loongarch/include/asm/inst.h | 16 ++++
arch/loongarch/include/asm/kprobes.h | 2 +-
arch/loongarch/include/asm/uprobes.h | 36 +++++++++
arch/loongarch/kernel/Makefile | 1 +
arch/loongarch/kernel/inst.c | 48 ++++++++++++
arch/loongarch/kernel/kprobes.c | 75 ++++--------------
arch/loongarch/kernel/traps.c | 9 +--
arch/loongarch/kernel/uprobes.c | 142 +++++++++++++++++++++++++++++++++++
9 files changed, 265 insertions(+), 67 deletions(-)
create mode 100644 arch/loongarch/include/asm/uprobes.h
create mode 100644 arch/loongarch/kernel/uprobes.c

--
2.1.0