Hi, The traditional dtrace used by SOF IPC3 is not available with firmware built as IPC4. With the new IPC implementation we have a new log extraction infrastructure and 'mtrace' is one way to get the logs out from the firmware for debugging. The protocol is relatively simple: The shared sram's debug window is split up to 'slots' Each DSP core will get a dedicated slot assigned for log output. The function of a slots can be checked in a descriptor table. The slot used for logging has the following layout: u32 host_read_ptr; u32 dsp_write_ptr; u8 buffer[]; The two pointers are offsets within the buffer. The firmware manages the write pointer, the host updates the read pointer value and based on the two pointers the log entries can be extracted. The firmware also sends notification when new entries are available in the log slot. The user space tool to read the log entries can be found in the SOF repository: https://github.com/thesofproject/sof/blob/main/tools/mtrace/mtrace-reader.py Regards, Peter --- Peter Ujfalusi (7): ASoC: SOF: ipc4: Only print LOG BUFFER update message info if requested ASoC: SOF: ipc4: Add macro to get core ID from log buffer status message ASoC: SOF: ipc4: Add define for the outbox window index ASoC: SOF: ipc4: Configure the debug box offset ASoC: SOF: ipc4: Add support for mtrace log extraction ASoC: SOF: Intel: icl: Set IPC4-specific DSP ops ASoC: SOF: Intel: Add mtrace type information for IPC4 include/sound/sof/ipc4/header.h | 5 + sound/soc/sof/Makefile | 3 +- sound/soc/sof/intel/apl.c | 2 + sound/soc/sof/intel/cnl.c | 2 + sound/soc/sof/intel/icl.c | 30 +- sound/soc/sof/intel/mtl.c | 2 + sound/soc/sof/intel/tgl.c | 2 + sound/soc/sof/ipc4-loader.c | 2 + sound/soc/sof/ipc4-mtrace.c | 643 ++++++++++++++++++++++++++++++++ sound/soc/sof/ipc4-priv.h | 18 +- sound/soc/sof/ipc4.c | 22 +- 11 files changed, 724 insertions(+), 7 deletions(-) create mode 100644 sound/soc/sof/ipc4-mtrace.c -- 2.37.3