Hi,
When a firmware crashes it creats a panic information into a telemetry slot. The panic format is defined by Zephyr, includes stack and additional information to help to identify the reason for the crash. Part of the firmware exception handling the firmware also sends an EXCEPTION_CAUGHT notification.
This series implements the kernel side handling of the exception: print information into the kernel log export the whole telemetry slot to user space for tools extract additional information from the panic dump.
Regards, Peter --- Rander Wang (9): ASoC: SOF: Xtensa: dump ar registers to restore call stack ASoC: SOF: ipc4-mtrace: move debug slot related definitions to header.h ASoC: SOF: ipc4: add a helper function to search debug slot ASoC: SOF: ipc4: add definition of telemetry slot for exception handling ASoC: SOF: ipc4: add exception node in sof debugfs directory ASoC: SOF: Intel: add telemetry retrieval support on Intel platforms ASoC: SOF: Intel: mtl: dump dsp stack ASoC: SOF: Intel: hda: add ipc4 FW panic support on CAVS 2.5+ platforms ASoC: SOF: ipc4: handle EXCEPTION_CAUGHT notification from firmware
include/sound/sof/ipc4/header.h | 17 ++++++ sound/soc/sof/Makefile | 2 +- sound/soc/sof/intel/Makefile | 3 +- sound/soc/sof/intel/hda.c | 14 +++++ sound/soc/sof/intel/hda.h | 1 + sound/soc/sof/intel/mtl.c | 3 ++ sound/soc/sof/intel/telemetry.c | 95 +++++++++++++++++++++++++++++++++ sound/soc/sof/intel/telemetry.h | 35 ++++++++++++ sound/soc/sof/intel/tgl.c | 1 + sound/soc/sof/ipc4-mtrace.c | 34 ++++-------- sound/soc/sof/ipc4-priv.h | 3 ++ sound/soc/sof/ipc4-telemetry.c | 95 +++++++++++++++++++++++++++++++++ sound/soc/sof/ipc4-telemetry.h | 73 +++++++++++++++++++++++++ sound/soc/sof/ipc4.c | 29 ++++++++++ sound/soc/sof/xtensa/core.c | 11 ++++ 15 files changed, 391 insertions(+), 25 deletions(-) create mode 100644 sound/soc/sof/intel/telemetry.c create mode 100644 sound/soc/sof/intel/telemetry.h create mode 100644 sound/soc/sof/ipc4-telemetry.c create mode 100644 sound/soc/sof/ipc4-telemetry.h