Skip to content

boards: intel_adsp: enable coredump for all Intel targets - #11134

Open
kv2019i wants to merge 1 commit into
thesofproject:mainfrom
kv2019i:202608-intel-coredump-common
Open

boards: intel_adsp: enable coredump for all Intel targets#11134
kv2019i wants to merge 1 commit into
thesofproject:mainfrom
kv2019i:202608-intel-coredump-common

Conversation

@kv2019i

@kv2019i kv2019i commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

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.

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>
Copilot AI lite review requested due to automatic review settings August 26, 2026 18:03
@kv2019i

kv2019i commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator Author

@lgirdwood potential v2.15 candidate

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_COREDUMP for Intel ADSP targets in app/boards/intel_adsp/Kconfig.defconfig.
  • Remove redundant CONFIG_DEBUG_COREDUMP=y from 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 .conf files 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.

Comment on lines +182 to +193
# 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
Comment on lines +186 to +190
# 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.
Comment on lines +33 to +35
# 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.
Comment on lines +32 to +34
# 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.
Comment on lines +38 to +40
# 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.
Comment on lines +38 to +40
# 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.
Comment on lines +40 to +42
# 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.
Comment on lines +40 to +42
# 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.
Comment on lines 33 to 35
# SOF / logging
CONFIG_SOF_LOG_LEVEL_INF=y

Comment on lines +52 to +54
# 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.
@kv2019i

kv2019i commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator Author

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants