Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
arch: riscv: stacktrace: handle user threads
Handle user threads stack bound validation in `in_stack_bound()` to get more accurate traces. If `CONFIG_PMP_POWER_OF_TWO_ALIGNMENT` is enabled: ``` +------------+ <- thread.arch.priv_stack_start | Guard | } Z_RISCV_STACK_GUARD_SIZE +------------+ | Priv Stack | } CONFIG_PRIVILEGED_STACK_SIZE +------------+ <- thread.arch.priv_stack_start + CONFIG_PRIVILEGED_STACK_SIZE + Z_RISCV_STACK_GUARD_SIZE ``` otherwise: ``` +------------+ <- thread.stack_obj | Guard | } Z_RISCV_STACK_GUARD_SIZE +------------+ | Priv Stack | } CONFIG_PRIVILEGED_STACK_SIZE +------------+ <- thread.stack_info.start | Thread | | stack | | | +............| | TLS | } thread.stack_info.delta +------------+ <- thread.stack_info.start + thread.stack_info.size ``` See: zephyr/include/zephyr/arch/riscv/arch.h Signed-off-by: Yong Cong Sin <[email protected]>
- Loading branch information