hi,
This series enhances the bt command for RISCV64 by making bt aware of
- possible kernel and user exception frames (bt -e)
- per-cpu IRQ stacks (bt for vmcore crashed in irq stack, bt -E)
- per-cpu overflow stacks (bt for vmcore caused by kernel stack overflow)
This series is based on the "RISCV64: Fix 'bt' output when no ra on
the stack top" patch sent a few days ago. You can get them all from my Github repo:
https://github.com/sugarfillet/crash/commits/rv64-bt-enhance/
The detailed test report can be found in each patch's commit-msg and
all these tests passed on the RV64 Qemu-virt and with RISC-V Linux v6.6.
Here is the abstract of these three patches:
Patch1 :
[Crash-utility] RISCV64: Add support for 'bt -e' option
With this patch we can search the stack for possible kernel and user
mode exception frames via 'bt -e' command.
Patch2 :
[Crash-utility] RISCV64: Add per-cpu IRQ stacks support
This patch introduces per-cpu IRQ stacks for RISCV64 to let
"bt" do backtrace on it and 'bt -E' search eframes on it,
and the 'help -m' command displays the addresses of each
per-cpu IRQ stack.
Patch3:
[Crash-utility] RISCV64: Add per-cpu overflow stacks support
The patch introduces per-cpu overflow stacks for RISCV64 to let
"bt" do backtrace on it and the 'help -m' command dispalys the
addresss of each per-cpu overflow stack.
Song Shuai (3):
[Crash-utility] RISCV64: Add support for 'bt -e' option
[Crash-utility] RISCV64: Add per-cpu IRQ stacks support
[Crash-utility] RISCV64: Add per-cpu overflow stacks support
defs.h | 30 +++-
help.c | 2 +-
riscv64.c | 492 +++++++++++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 494 insertions(+), 30 deletions(-)
--
2.20.1