MIPS: kernel: Support extracting off-line stack traces from user-space with perf
authorTiezhu Yang <yangtiezhu@loongson.cn>
Thu, 4 Feb 2021 03:35:22 +0000 (11:35 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Thu, 4 Feb 2021 20:55:45 +0000 (21:55 +0100)
commit1ddc96bd42daeeb58f66c9515e506f245ccb00c6
treeb3f0028730f0feb0f47e209d84f53739baa16a1a
parentc87bc737220adc4627f191a5e4ed5068aabc24a1
MIPS: kernel: Support extracting off-line stack traces from user-space with perf

Add perf_event_mips_regs/perf_reg_value/perf_reg_validate to support
features HAVE_PERF_REGS/HAVE_PERF_USER_STACK_DUMP in kernel.

[ayan@wavecomp.com: Repick this patch for unwinding userstack backtrace
 by perf and libunwind on MIPS based CPU.]

[ralf@linux-mips.org: Add perf_get_regs_user() which is required after
'commit 88a7c26af8da ("perf: Move task_pt_regs sampling into arch code")'.]

[yangtiezhu@loongson.cn: Fix build error about perf_get_regs_user() after
commit 76a4efa80900 ("perf/arch: Remove perf_sample_data::regs_user_copy"),
and also separate the original patches into two parts (MIPS kernel and perf
tools) to merge easily.]

The original patches:
https://lore.kernel.org/patchwork/patch/1126521/
https://lore.kernel.org/patchwork/patch/1126520/

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Archer Yan <ayan@wavecomp.com>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/Kconfig
arch/mips/include/uapi/asm/perf_regs.h [new file with mode: 0644]
arch/mips/kernel/Makefile
arch/mips/kernel/perf_regs.c [new file with mode: 0644]