boards: intel_adsp: enable coredump for all Intel targets - #11134
Conversation
CONFIG_DEBUG_COREDUMP was only enabled on a subset of Intel build targets (ace15_mtpm/mtl and the cavs25 boards), and otherwise only came in through the debug overlay (-d / app/debug_overlay.conf). This left normal builds of lnl, ptl, wcl, nvl and nvls without a core dump, so field crashes on those platforms could not be analysed offline. Enable it once for every Intel ADSP target in the shared boards/intel_adsp/Kconfig.defconfig. DEBUG_COREDUMP has no in-tree default, so configdefault turns it on without weakening its "depends on ARCH_SUPPORTS_COREDUMP" dependency (SOC_FAMILY_INTEL_ADSP selects ARCH_SUPPORTS_COREDUMP). The backend and memory-dump amount are Kconfig 'choice' symbols with an in-tree default. Because this SOF defconfig is sourced after the Zephyr tree (unlike upstream board Kconfig.defconfig files, which are sourced first), choice defaults cannot be overridden from it. The ADSP memory-window backend and minimal dump are therefore selected in each Intel board .conf instead; the boards that already enabled coredump keep those two lines and just drop the now-redundant CONFIG_DEBUG_COREDUMP=y. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
|
@lgirdwood potential v2.15 candidate |
There was a problem hiding this comment.
Pull request overview
This PR enables Zephyr core dump support by default across all Intel ADSP SOF board targets, so crashes in non-debug builds can be analyzed offline. It centralizes DEBUG_COREDUMP enablement in the shared Intel ADSP defconfig and relies on per-board .conf files to select the Intel ADSP coredump backend and minimal dump size.
Changes:
- Enable
DEBUG_COREDUMPfor Intel ADSP targets inapp/boards/intel_adsp/Kconfig.defconfig. - Remove redundant
CONFIG_DEBUG_COREDUMP=yfrom boards that previously enabled it explicitly, while keeping per-board backend/dump-size selection. - Add backend/dump-size selections (and explanatory comments) to additional Intel board
.conffiles that previously lacked core dump in normal builds.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| app/boards/intel_adsp/Kconfig.defconfig | Adds a global default enabling core dumps for Intel ADSP targets. |
| app/boards/intel_adsp_cavs25.conf | Drops redundant CONFIG_DEBUG_COREDUMP=y, retains backend + dump-size selections. |
| app/boards/intel_adsp_cavs25_tgph.conf | Drops redundant CONFIG_DEBUG_COREDUMP=y, retains backend + dump-size selections. |
| app/boards/intel_adsp_ace40_nvls.conf | Adds backend + dump-size selections now that core dump is globally enabled. |
| app/boards/intel_adsp_ace40_nvl.conf | Adds backend + dump-size selections now that core dump is globally enabled. |
| app/boards/intel_adsp_ace30_wcl.conf | Adds backend + dump-size selections now that core dump is globally enabled. |
| app/boards/intel_adsp_ace30_ptl.conf | Adds backend + dump-size selections now that core dump is globally enabled. |
| app/boards/intel_adsp_ace20_lnl.conf | Adds backend + dump-size selections now that core dump is globally enabled. |
| app/boards/intel_adsp_ace15_mtpm.conf | Drops redundant CONFIG_DEBUG_COREDUMP=y, retains backend + dump-size selections. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # DEBUG_COREDUMP has no in-tree default, so configdefault is used to force it | ||
| # on without weakening its "depends on ARCH_SUPPORTS_COREDUMP" dependency | ||
| # (SOC_FAMILY_INTEL_ADSP selects ARCH_SUPPORTS_COREDUMP). | ||
| # | ||
| # The coredump backend and memory-dump amount are Kconfig 'choice' symbols | ||
| # with an in-tree default. As noted above, this defconfig is sourced after the | ||
| # Zephyr tree, so choice defaults cannot be overridden from here; the ADSP | ||
| # memory-window backend and minimal dump are therefore selected in each Intel | ||
| # board .conf file instead. | ||
|
|
||
| configdefault DEBUG_COREDUMP | ||
| default y |
| # The coredump backend and memory-dump amount are Kconfig 'choice' symbols | ||
| # with an in-tree default. As noted above, this defconfig is sourced after the | ||
| # Zephyr tree, so choice defaults cannot be overridden from here; the ADSP | ||
| # memory-window backend and minimal dump are therefore selected in each Intel | ||
| # board .conf file instead. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
| # SOF / logging | ||
| CONFIG_SOF_LOG_LEVEL_INF=y | ||
|
|
| # note: CONFIG_DEBUG_COREDUMP is enabled for all Intel targets in | ||
| # boards/intel_adsp/Kconfig.defconfig; only the backend and dump-amount | ||
| # choices have to be selected per board. |
|
Tested with @ujfalusi 's zephyrproject-rtos/zephyr#117310 on PTL. Without this Zephyr PR, the coredump will overflow surrounding windows and the dump may corrupt the FW log (on targets with dynamic debug slots enabled). |
CONFIG_DEBUG_COREDUMP was only enabled on a subset of Intel build targets (ace15_mtpm/mtl and the cavs25 boards), and otherwise only came in through the debug overlay (-d / app/debug_overlay.conf). This left normal builds of lnl, ptl, wcl, nvl and nvls without a core dump, so field crashes on those platforms could not be analysed offline.
Enable it once for every Intel ADSP target in the shared boards/intel_adsp/Kconfig.defconfig. DEBUG_COREDUMP has no in-tree default, so configdefault turns it on without weakening its "depends on ARCH_SUPPORTS_COREDUMP" dependency (SOC_FAMILY_INTEL_ADSP selects ARCH_SUPPORTS_COREDUMP).
The backend and memory-dump amount are Kconfig 'choice' symbols with an in-tree default. Because this SOF defconfig is sourced after the Zephyr tree (unlike upstream board Kconfig.defconfig files, which are sourced first), choice defaults cannot be overridden from it. The ADSP memory-window backend and minimal dump are therefore selected in each Intel board .conf instead; the boards that already enabled coredump keep those two lines and just drop the now-redundant CONFIG_DEBUG_COREDUMP=y.