arch: riscv: stacktrace: implement arch_stack_walk()

Created the `arch_stack_walk()` function out from the original
`z_riscv_unwind_stack()`, it's been updated to support
unwinding any thread.

Updated the stack_unwind test case accordingly.

Increased the delay in `test_fatal_on_smp`, to wait
for the the fatal thread to be terminated, as stacktrace can
take a bit more time.

Doubled the kernel/smp testcase timeout from 60 (default) to
120s, as some of the tests can take a little bit more than 60s
to finish.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
This commit is contained in:
Yong Cong Sin 2024-05-31 21:24:54 +08:00 committed by Anas Nashif
commit 726fefd12c
6 changed files with 186 additions and 86 deletions

View file

@ -15,8 +15,8 @@ tests:
type: multi_line
regex:
- "E: call trace:"
- "E: 0: fp: \\w+ ra: \\w+"
- "E: 1: fp: \\w+ ra: \\w+"
- "E: 0: ra: \\w+"
- "E: 1: ra: \\w+"
arch.common.stack_unwind.riscv_sp:
arch_allow: riscv
integration_platforms:
@ -26,8 +26,8 @@ tests:
type: multi_line
regex:
- "E: call trace:"
- "E: 0: sp: \\w+ ra: \\w+"
- "E: 1: sp: \\w+ ra: \\w+"
- "E: 0: ra: \\w+"
- "E: 1: ra: \\w+"
arch.common.stack_unwind.x86:
arch_allow: x86
extra_configs: