diff --git a/src/arch/xtensa/include/arch/init.h b/src/arch/xtensa/include/arch/init.h index 31286eda4203..0071ae538d7e 100644 --- a/src/arch/xtensa/include/arch/init.h +++ b/src/arch/xtensa/include/arch/init.h @@ -35,10 +35,9 @@ static inline void exception(void) __asm__ __volatile__("rsr %0, EPC1" : "=a" (epc1) : : "memory"); - /* now panic and rewind 8 stack frames. */ + /* now save panic dump */ /* TODO: we could invoke a GDB stub here */ - panic_rewind(SOF_IPC_PANIC_EXCEPTION, 8 * sizeof(uint32_t), - NULL, &epc1); + panic_dump(SOF_IPC_PANIC_EXCEPTION, NULL, &epc1); } /** diff --git a/src/debug/panic.c b/src/debug/panic.c index e093acd183ac..a6c8bdd868f0 100644 --- a/src/debug/panic.c +++ b/src/debug/panic.c @@ -30,9 +30,8 @@ void dump_panicinfo(void *addr, struct sof_ipc_panic_info *panic_info) dcache_writeback_region(addr, sizeof(struct sof_ipc_panic_info)); } -/* panic and rewind stack */ -void panic_rewind(uint32_t p, uint32_t stack_rewind_frames, - struct sof_ipc_panic_info *panic_info, uintptr_t *data) +void panic_dump(uint32_t p, struct sof_ipc_panic_info *panic_info, + uintptr_t *data) { char *ext_offset; size_t count; @@ -56,7 +55,7 @@ void panic_rewind(uint32_t p, uint32_t stack_rewind_frames, #endif /* dump stack frames */ - p = dump_stack(p, ext_offset, stack_rewind_frames, count, &stack_ptr); + p = dump_stack(p, ext_offset, 0, count, &stack_ptr); /* dump DSP core registers * after arch_dump_regs() use only inline funcs if needed @@ -109,5 +108,5 @@ void __panic(uint32_t p, char *filename, uint32_t linenum) "a3", "memory"); #endif - panic_rewind(p, 0, &panicinfo, NULL); + panic_dump(p, &panicinfo, NULL); } diff --git a/src/include/sof/debug/panic.h b/src/include/sof/debug/panic.h index 1a64915647f1..6999ef01dabb 100644 --- a/src/include/sof/debug/panic.h +++ b/src/include/sof/debug/panic.h @@ -26,8 +26,8 @@ #endif void dump_panicinfo(void *addr, struct sof_ipc_panic_info *panic_info); -void panic_rewind(uint32_t p, uint32_t stack_rewind_frames, - struct sof_ipc_panic_info *panic_info, uintptr_t *data) +void panic_dump(uint32_t p, struct sof_ipc_panic_info *panic_info, + uintptr_t *data) SOF_NORETURN; void __panic(uint32_t p, char *filename, uint32_t linenum) SOF_NORETURN;