Skip to content

Phase 2 (part 6): move arch and platform to src/kernel, build src/kernel into sof_kernel - #11420

Draft
lgirdwood wants to merge 3 commits into
thesofproject:mainfrom
lgirdwood:kernel-user/phase2f
Draft

lgirdwood wants to merge 3 commits into
thesofproject:mainfrom
lgirdwood:kernel-user/phase2f

Conversation

@lgirdwood

Copy link
Copy Markdown
Member

Phase 2 of #11306 (kernel / user-space partition), sixth part: move arch and platform into src/kernel, and build all of src/kernel into the sof_kernel library. Follows #11415.

After this, src/trace is the only kernel-only code outside src/kernel (it is still built by the testbench). The mixed files, split in Phase 3, are also still outside.

Patches

  1. arch/ → kernel/arch/: the Xtensa cache and interrupt support, and the host build's architecture layer with its library defconfig.
    • Zephyr: only uses it through include directories and the cache attribute source in zephyr/CMakeLists.txt; those paths are updated.
    • Host builds: now add it from src/kernel.
    • Other updates: the configuration search paths (kconfig.cmake, defconfigs.cmake), the testbench, tplg_parser and app CMake, and the docs.
  2. platform/ → kernel/platform/:
    • SOF_PLATFORM_PATH points to the new location, and the two i.MX linker snippets use it.
    • Host builds: now add it from src/kernel.
    • Other updates: the cmocka and ztest include directories, the testbench and tplg_parser, the platform header patterns in the include checker's manifest, CODEOWNERS, the MediaTek tools script and the docs.
  3. Build all of src/kernel into sof_kernel:
    • The problem: zephyr/CMakeLists.txt lists the platform, driver and Xtensa cache attribute sources itself, mixed with the Zephyr integration sources in zephyr/lib, so they were still built into modules_sof.
    • The fix: after all sources are added, every source under src/kernel moves from modules_sof to sof_kernel. sof_kernel then holds exactly the code in src/kernel, however it was added. Both libraries are created in the same directory and link the same SOF interface library, and the compile flags are unchanged.

For both moves, the Kconfig file is still sourced from the same place in src/Kconfig, so the Kconfig definition order does not change. References to the removed XTOS build output (build_<plat>_gcc/src/arch/xtensa) in old scripts, zephyr/README and .gitignore are left as they are; they do not point at sources.

Functional change

None.

  • Objects, LLEXT modules and configuration: unchanged. That includes every build's .config, every Intel platform's generated rimage configuration, and the include checker's report apart from the new header paths.
  • Firmware images: the symbols and the SYS_INIT() order of every image are unchanged. The link order only changes alignment padding (imx8ulp, TGL, TGL-H) and the ASan module name strings in the fuzz builds.

Testing

  • Per commit:
    • Builds: tgl, tgl-h, mtl, lnl, ptl, wcl, nvl, imx8, imx8x, imx8m, imx8m_cm7, imx8ulp, imx95 and qemu_xtensa, and the extra CI configurations:
      • native_sim IPC3/IPC4 stub builds;
      • imx93 64-bit;
      • PTL with each userspace overlay;
      • PTL with CONFIG_SOF_USERSPACE_PROXY=n;
      • PTL and MTL with os_linux_overlay.conf;llext_relocatable.conf.
    • Comparisons: objects, LLEXT modules and firmware images, as above.
    • Signing: rimage runs for every Intel platform, and the generated configs are compared.
    • Cadence xt-clang (RI-2022.10): MTL, PTL and NVL compile.
    • ZTest: the unit tests pass, run as in CI (18 of 18 configurations).
    • Host: the host library and cmocka build and pass.
  • At the tip:
    • the cmocka unit tests pass for all nine defconfigs;
    • the testbench and the tools pass;
    • the platforms that already fail on main (acp_6_0, acp_7_0, acp_7_x, mt8186, mt8188, mt8195, mt8196, mt8365) have unchanged error sets.
  • Hardware: TGL (UP Xtreme i11), sof-hda-generic-cavs25-2ch.tplg, comparing Phase 2 (part 5): move the host-built kernel code to src/kernel #11415's tip and this branch. Both boot, play 5 s, and play again after runtime suspend, with no DSP errors.

All of the above was run on 856cf13 with #11415 applied. The tree is identical after the rebase onto 8bb54ed (current main, including #11415).

🤖 Generated with Claude Code

lrgirdwo and others added 3 commits November 7, 2026 19:07
The architecture code (Xtensa cache and interrupt support, the host
build's architecture layer and its library defconfig) is kernel-only.
Move it to src/kernel/arch.

Zephyr only uses it through include directories and the Xtensa cache
attribute source listed in zephyr/CMakeLists.txt; update those paths.
The host builds now add it from src/kernel. Update the configuration
search paths in kconfig.cmake and defconfigs.cmake, the testbench,
tplg_parser and app CMake, the MediaTek tools script and the docs.

Its Kconfig is sourced from the same place in src/Kconfig as before,
so the Kconfig definition order does not change. References to the
removed XTOS build output (build_<plat>_gcc/src/arch/xtensa) in old
scripts and .gitignore are left as they are. No functional change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The platform code (memory maps, clocks, interrupts, platform init and
the host library and posix platform layers) is kernel-only. Move it to
src/kernel/platform.

Point SOF_PLATFORM_PATH in zephyr/CMakeLists.txt to the new location;
the two i.MX linker snippets now use it as well. The host builds now
add it from src/kernel. Update the include directories of the cmocka
and ztest unit tests, the testbench and tplg_parser, the platform
header patterns in the include checker's manifest, CODEOWNERS, the
MediaTek tools script and the docs.

Its Kconfig is sourced from the same place in src/Kconfig as before,
so the Kconfig definition order does not change. No functional change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
zephyr/CMakeLists.txt lists the platform, driver and Xtensa cache
attribute sources itself, mixed with the Zephyr integration sources in
zephyr/lib, so they are built into modules_sof although they now live
under src/kernel.

After all sources have been added, move every source under src/kernel
from modules_sof to sof_kernel, so that sof_kernel holds exactly the
code in src/kernel however it was added. Both libraries are created in
the same directory and link the same SOF interface library, so the
compile flags do not change. No functional change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>

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.

🟡 Changes recommended

The relocated build script still climbs only four directory levels to calculate the repository root, causing its include paths to resolve to nonexistent directories.

1 open issue
What changed in this PR

This PR continues the kernel/user-space partition by moving architecture and platform support into src/kernel and consolidating kernel sources into sof_kernel, with no intended runtime behavior change.

Changes:

  • Relocate architecture and platform code under src/kernel.
  • Update build, configuration, test and tool paths, plus documentation and ownership metadata.
  • Move kernel sources registered by the Zephyr integration from modules_sof into sof_kernel.

This pull request requires changes. The unresolved moderate issue in src/kernel/platform/mtk/tools/build.sh:18 breaks the documented generator build: cd ../../../.. now resolves to the checkout’s src directory, producing nonexistent include paths. The root calculation must climb five levels.

File Description
tools/​tplg_parser/​CMakeLists.txt Update host architecture and platform include paths.
tools/​testbench/​README.md Update example defconfig paths.
tools/​testbench/​CMakeLists.txt Update defconfig and platform include paths.
test/​ztest/​unit/​objpool/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​matrix/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​fft/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​fft_multi/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​dct/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​auditory/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​math/​advanced/​functions/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​fast-get/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​dsrc/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​audio/​drc/​CMakeLists.txt Update POSIX platform include path.
test/​ztest/​unit/​audio/​crossover/​CMakeLists.txt Update POSIX platform include path.
test/​cmocka/​src/​lib/​fast-get/​CMakeLists.txt Update platform memory source path.
test/​cmocka/​src/​lib/​alloc/​CMakeLists.txt Update memory source and cAVS include paths.
test/​cmocka/​CMakeLists.txt Update Intel platform include paths.
src/​kernel/​platform/​tigerlake/​include/​platform/​trace/​trace.h Relocate Tiger Lake trace header.
src/​kernel/​platform/​tigerlake/​include/​platform/​platform.h Relocate Tiger Lake platform declarations.
src/​kernel/​platform/​tigerlake/​include/​platform/​lib/​mailbox.h Relocate Tiger Lake mailbox header.
src/​kernel/​platform/​README.md Update directory name and userspace documentation link.
src/​kernel/​platform/​qemu_xtensa/​platform.c Relocate QEMU platform stubs.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​trace/​trace.h Relocate QEMU trace definitions.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​platform.h Relocate QEMU platform definitions.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​lib/​memory.h Relocate QEMU memory header.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​lib/​mailbox.h Relocate QEMU mailbox stubs.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​lib/​dma.h Relocate QEMU DMA declarations.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​lib/​dai.h Relocate QEMU DAI header.
src/​kernel/​platform/​qemu_xtensa/​include/​platform/​lib/​clk.h Relocate QEMU clock definitions.
src/​kernel/​platform/​posix/​include/​platform/​trace/​trace.h Relocate POSIX trace header.
src/​kernel/​platform/​posix/​include/​platform/​platform.h Relocate POSIX platform declarations.
src/​kernel/​platform/​posix/​include/​platform/​lib/​pm_runtime.h Relocate POSIX power-management stubs.
src/​kernel/​platform/​posix/​include/​platform/​lib/​memory.h Relocate POSIX memory definitions.
src/​kernel/​platform/​posix/​include/​platform/​lib/​mailbox.h Relocate POSIX mailbox stubs.
src/​kernel/​platform/​posix/​include/​platform/​lib/​dma.h Relocate POSIX DMA definitions.
src/​kernel/​platform/​posix/​include/​platform/​lib/​dai.h Relocate POSIX DAI definitions.
src/​kernel/​platform/​posix/​include/​platform/​lib/​cpu.h Relocate POSIX CPU declarations.
src/​kernel/​platform/​posix/​include/​platform/​lib/​clk.h Relocate POSIX clock declarations.
src/​kernel/​platform/​posix/​include/​platform/​fuzz.h Relocate fuzz-state interfaces.
src/​kernel/​platform/​posix/​include/​platform/​drivers/​interrupt.h Relocate POSIX interrupt definitions.
src/​kernel/​platform/​posix/​include/​platform/​drivers/​idc.h Relocate POSIX IDC stub.
src/​kernel/​platform/​novalake/​lib/​clk.c Relocate Nova Lake frequency table.
src/​kernel/​platform/​novalake/​include/​platform/​trace/​trace.h Relocate Nova Lake trace header.
src/​kernel/​platform/​novalake/​include/​platform/​platform.h Relocate Nova Lake platform definitions.
src/​kernel/​platform/​novalake/​include/​platform/​lib/​memory.h Relocate Nova Lake memory definitions.
src/​kernel/​platform/​novalake/​include/​platform/​lib/​mailbox.h Relocate Nova Lake mailbox header.
src/​kernel/​platform/​novalake/​include/​platform/​lib/​clk.h Relocate Nova Lake clock definitions.
src/​kernel/​platform/​mtk/​tools/​README.txt Relocate AFE generator documentation.
src/​kernel/​platform/​mtk/​tools/​build.sh Update generator paths; root calculation requires correction.
src/​kernel/​platform/​mtk/​include/​platform/​trace/​trace.h Relocate MediaTek trace header.
src/​kernel/​platform/​mtk/​include/​platform/​platform.h Relocate MediaTek platform definitions.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​pm_runtime.h Relocate MediaTek power-management stubs.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​mailbox.h Relocate MediaTek mailbox definitions.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​dma.h Relocate MediaTek DMA definitions.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​dai.h Relocate MediaTek DAI header.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​cpu.h Relocate MediaTek CPU definitions.
src/​kernel/​platform/​mtk/​include/​platform/​lib/​clk.h Relocate MediaTek clock definitions.
src/​kernel/​platform/​meteorlake/​lib/​clk.c Relocate Meteor Lake frequency table.
src/​kernel/​platform/​meteorlake/​include/​platform/​trace/​trace.h Relocate Meteor Lake trace header.
src/​kernel/​platform/​meteorlake/​include/​platform/​platform.h Relocate Meteor Lake platform definitions.
src/​kernel/​platform/​meteorlake/​include/​platform/​lib/​memory.h Relocate Meteor Lake memory definitions.
src/​kernel/​platform/​meteorlake/​include/​platform/​lib/​mailbox.h Relocate Meteor Lake mailbox header.
src/​kernel/​platform/​meteorlake/​include/​platform/​lib/​clk.h Relocate Meteor Lake clock definitions.
src/​kernel/​platform/​lunarlake/​lib/​clk.c Relocate Lunar Lake frequency table.
src/​kernel/​platform/​lunarlake/​include/​platform/​trace/​trace.h Relocate Lunar Lake trace header.
src/​kernel/​platform/​lunarlake/​include/​platform/​platform.h Relocate Lunar Lake platform definitions.
src/​kernel/​platform/​lunarlake/​include/​platform/​lib/​memory.h Relocate Lunar Lake memory definitions.
src/​kernel/​platform/​lunarlake/​include/​platform/​lib/​mailbox.h Relocate Lunar Lake mailbox header.
src/​kernel/​platform/​lunarlake/​include/​platform/​lib/​clk.h Relocate Lunar Lake clock definitions.
src/​kernel/​platform/​library/​schedule/​CMakeLists.txt Relocate host scheduler build rules.
src/​kernel/​platform/​library/​platform.c Relocate host platform initialization.
src/​kernel/​platform/​library/​panic.c Relocate host panic implementation.
src/​kernel/​platform/​library/​lib/​trace.c Relocate host trace support.
src/​kernel/​platform/​library/​lib/​pm_runtime.c Relocate host power-management stubs.
src/​kernel/​platform/​library/​lib/​dai.c Relocate host DAI initialization.
src/​kernel/​platform/​library/​lib/​CMakeLists.txt Relocate host platform library build rules.
src/​kernel/​platform/​library/​lib/​clk.c Relocate host clock-conversion stubs.
src/​kernel/​platform/​library/​lib/​alloc.c Relocate host allocation implementation.
src/​kernel/​platform/​library/​init.c Relocate host firmware context accessor.
src/​kernel/​platform/​library/​include/​platform/​platform.h Relocate host platform definitions and stubs.
src/​kernel/​platform/​library/​include/​platform/​lib/​pm_runtime.h Relocate host power-management header.
src/​kernel/​platform/​library/​include/​platform/​lib/​mailbox.h Relocate host mailbox definitions.
src/​kernel/​platform/​library/​include/​platform/​lib/​ll_schedule.h Relocate host low-latency scheduler API.
src/​kernel/​platform/​library/​include/​platform/​lib/​dma.h Relocate host DMA definitions.
src/​kernel/​platform/​library/​include/​platform/​lib/​dai.h Relocate host DAI definitions.
src/​kernel/​platform/​library/​include/​platform/​lib/​cpu.h Relocate host CPU definitions.
src/​kernel/​platform/​library/​include/​platform/​lib/​clk.h Relocate host clock definitions.
src/​kernel/​platform/​library/​include/​platform/​drivers/​pmc.h Relocate host PMC declarations.
src/​kernel/​platform/​library/​include/​platform/​drivers/​idc.h Relocate host IDC stubs.
src/​kernel/​platform/​library/​CMakeLists.txt Relocate host platform build entry point.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​version.h Relocate cAVS version definitions.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​trace/​trace.h Relocate cAVS trace support.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​mem_window.h Relocate cAVS memory-window declarations.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​lib/​power_down.h Relocate cAVS power-down API.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​lib/​memory.h Relocate cAVS memory support.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​ext_manifest.h Relocate cAVS extended-manifest definitions.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​drivers/​timestamp.h Relocate timestamp register definitions.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​drivers/​sideband-ipc.h Relocate sideband IPC register definitions.
src/​kernel/​platform/​intel/​cavs/​include/​cavs/​drivers/​mn.h Relocate clock-divider register definitions.
src/​kernel/​platform/​intel/​ace/​include/​auth/​intel_status_logger_iface.h Relocate status-logger interface.
src/​kernel/​platform/​intel/​ace/​include/​auth/​intel_status_logger_api.h Relocate status-logger wrappers.
src/​kernel/​platform/​intel/​ace/​include/​auth/​intel_auth_api.h Relocate authentication API wrappers.
src/​kernel/​platform/​intel/​ace/​include/​ace/​version.h Relocate ACE version definitions.
src/​kernel/​platform/​intel/​ace/​include/​ace/​lib/​memory.h Relocate common ACE memory header.
src/​kernel/​platform/​intel/​ace/​include/​ace/​lib/​clk.h Relocate common ACE clock declarations.
src/​kernel/​platform/​imx95/​linker/​data-sections.ld Relocate firmware metadata linker snippet.
src/​kernel/​platform/​imx95/​lib/​clk.c Relocate i.MX95 clock initialization.
src/​kernel/​platform/​imx95/​include/​platform/​trace/​trace.h Relocate i.MX95 trace header.
src/​kernel/​platform/​imx95/​include/​platform/​platform.h Relocate i.MX95 platform definitions.
src/​kernel/​platform/​imx95/​include/​platform/​lib/​memory.h Relocate i.MX95 memory definitions.
src/​kernel/​platform/​imx95/​include/​platform/​lib/​mailbox.h Relocate i.MX95 mailbox definitions.
src/​kernel/​platform/​imx95/​include/​platform/​lib/​dma.h Relocate i.MX95 DMA header.
src/​kernel/​platform/​imx95/​include/​platform/​lib/​clk.h Relocate i.MX95 clock declarations.
src/​kernel/​platform/​imx93_a55/​lib/​clk.c Relocate i.MX93 clock initialization.
src/​kernel/​platform/​imx93_a55/​include/​platform/​trace/​trace.h Relocate i.MX93 trace header.
src/​kernel/​platform/​imx93_a55/​include/​platform/​platform.h Relocate i.MX93 platform definitions.
src/​kernel/​platform/​imx93_a55/​include/​platform/​lib/​memory.h Relocate i.MX93 memory definitions.
src/​kernel/​platform/​imx93_a55/​include/​platform/​lib/​dma.h Relocate i.MX93 DMA definitions.
src/​kernel/​platform/​imx93_a55/​include/​platform/​lib/​dai.h Relocate i.MX93 DAI header.
src/​kernel/​platform/​imx93_a55/​include/​platform/​lib/​clk.h Relocate i.MX93 clock declarations.
src/​kernel/​platform/​imx93_a55/​include/​platform/​drivers/​idc.h Relocate i.MX93 IDC stub.
src/​kernel/​platform/​imx8ulp/​lib/​clk.c Relocate i.MX8ULP clock initialization.
src/​kernel/​platform/​imx8ulp/​include/​platform/​trace/​trace.h Relocate i.MX8ULP trace header.
src/​kernel/​platform/​imx8ulp/​include/​platform/​lib/​mailbox.h Relocate i.MX8ULP mailbox definitions.
src/​kernel/​platform/​imx8ulp/​include/​platform/​lib/​dma.h Relocate i.MX8ULP DMA definitions.
src/​kernel/​platform/​imx8ulp/​include/​platform/​lib/​dai.h Relocate i.MX8ULP DAI header.
src/​kernel/​platform/​imx8ulp/​include/​platform/​lib/​cpu.h Relocate i.MX8ULP CPU definitions.
src/​kernel/​platform/​imx8ulp/​include/​platform/​lib/​clk.h Relocate i.MX8ULP clock declarations.
src/​kernel/​platform/​imx8ulp/​include/​platform/​drivers/​interrupt.h Relocate i.MX8ULP interrupt declarations.
src/​kernel/​platform/​imx8ulp/​include/​platform/​drivers/​idc.h Relocate i.MX8ULP IDC stubs.
src/​kernel/​platform/​imx8ulp/​include/​arch/​xtensa/​config/​defs.h Relocate Xtensa compatibility header.
src/​kernel/​platform/​imx8m/​lib/​clk.c Relocate i.MX8M clock initialization.
src/​kernel/​platform/​imx8m/​include/​platform/​trace/​trace.h Relocate i.MX8M trace header.
src/​kernel/​platform/​imx8m/​include/​platform/​platform.h Relocate i.MX8M platform declarations.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​pm_runtime.h Relocate i.MX8M power-management stubs.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​mailbox.h Relocate i.MX8M mailbox definitions.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​dma.h Relocate i.MX8M DMA definitions.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​dai.h Relocate i.MX8M DAI header.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​cpu.h Relocate i.MX8M CPU definitions.
src/​kernel/​platform/​imx8m/​include/​platform/​lib/​clk.h Relocate i.MX8M clock declarations.
src/​kernel/​platform/​imx8m/​include/​platform/​drivers/​idc.h Relocate i.MX8M IDC stubs.
src/​kernel/​platform/​imx8m/​include/​arch/​xtensa/​config/​defs.h Relocate Xtensa compatibility header.
src/​kernel/​platform/​imx8m_cm7/​linker/​data-sections.ld Relocate firmware metadata linker snippet.
src/​kernel/​platform/​imx8m_cm7/​lib/​clk.c Relocate Cortex-M7 clock initialization.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​trace/​trace.h Relocate Cortex-M7 trace header.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​platform.h Relocate Cortex-M7 platform definitions.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​lib/​memory.h Relocate Cortex-M7 memory definitions.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​lib/​mailbox.h Relocate Cortex-M7 mailbox definitions.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​lib/​dma.h Relocate Cortex-M7 DMA header.
src/​kernel/​platform/​imx8m_cm7/​include/​platform/​lib/​clk.h Relocate Cortex-M7 clock declarations.
src/​kernel/​platform/​imx8/​lib/​clk.c Relocate i.MX8 clock initialization.
src/​kernel/​platform/​imx8/​include/​platform/​trace/​trace.h Relocate i.MX8 trace header.
src/​kernel/​platform/​imx8/​include/​platform/​platform.h Relocate i.MX8 platform and panic support.
src/​kernel/​platform/​imx8/​include/​platform/​lib/​mailbox.h Relocate i.MX8 mailbox definitions.
src/​kernel/​platform/​imx8/​include/​platform/​lib/​dma.h Relocate i.MX8 DMA definitions.
src/​kernel/​platform/​imx8/​include/​platform/​lib/​dai.h Relocate i.MX8 DAI header.
src/​kernel/​platform/​imx8/​include/​platform/​lib/​cpu.h Relocate i.MX8 CPU definitions.
src/​kernel/​platform/​imx8/​include/​platform/​lib/​clk.h Relocate i.MX8 clock declarations.
src/​kernel/​platform/​imx8/​include/​platform/​drivers/​idc.h Relocate i.MX8 IDC stubs.
src/​kernel/​platform/​imx8/​include/​arch/​xtensa/​config/​defs.h Relocate Xtensa compatibility header.
src/​kernel/​platform/​CMakeLists.txt Relocate platform build entry point.
src/​kernel/​platform/​amd/​rembrandt/​include/​arch/​xtensa/​config/​defs.h Relocate Rembrandt Xtensa compatibility header.
src/​kernel/​platform/​amd/​common/​include/​platform/​trace/​trace.h Relocate AMD trace header.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​pm_runtime.h Relocate AMD power-management stubs.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​mailbox.h Relocate AMD mailbox definitions.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​dma.h Relocate AMD DMA definitions.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​dai.h Relocate AMD DAI definitions.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​cpu.h Relocate AMD CPU definitions.
src/​kernel/​platform/​amd/​common/​include/​platform/​lib/​clk.h Relocate AMD clock declarations.
src/​kernel/​platform/​amd/​common/​include/​platform/​ipc.h Relocate AMD IPC declarations.
src/​kernel/​platform/​amd/​common/​include/​platform/​drivers/​idc.h Relocate AMD IDC stubs.
src/​kernel/​platform/​amd/​common/​include/​platform/​acp_sp_dma.h Relocate ACP serial-port DMA API.
src/​kernel/​platform/​amd/​common/​include/​platform/​acp_dmic_dma.h Relocate ACP DMIC DMA API.
src/​kernel/​platform/​amd/​common/​include/​platform/​acp_dma.h Relocate ACP DMA structures and API.
src/​kernel/​platform/​amd/​acp_7_0/​include/​arch/​xtensa/​config/​defs.h Relocate ACP 7.0 Xtensa compatibility header.
src/​kernel/​platform/​ace30/​lib/​clk.c Relocate ACE 3.0 frequency table.
src/​kernel/​platform/​ace30/​include/​platform/​trace/​trace.h Relocate ACE 3.0 trace header.
src/​kernel/​platform/​ace30/​include/​platform/​platform.h Relocate ACE 3.0 platform definitions.
src/​kernel/​platform/​ace30/​include/​platform/​lib/​memory.h Relocate ACE 3.0 memory definitions.
src/​kernel/​platform/​ace30/​include/​platform/​lib/​mailbox.h Relocate ACE 3.0 mailbox header.
src/​kernel/​platform/​ace30/​include/​platform/​lib/​clk.h Relocate ACE 3.0 clock definitions.
src/​kernel/​CMakeLists.txt Add relocated architecture and platform directories for host builds.
src/​kernel/​arch/​xtensa/​Kconfig Relocate Xtensa configuration definitions.
src/​kernel/​arch/​README.md Update directory name and userspace documentation link.
src/​kernel/​arch/​Kconfig Relocate architecture configuration entry point.
src/​kernel/​arch/​host/​lib/​notifier.c Relocate host notifier accessor.
src/​kernel/​arch/​host/​lib/​CMakeLists.txt Relocate host architecture build rules.
src/​kernel/​arch/​host/​lib/​ams.c Relocate host messaging-service accessor.
src/​kernel/​arch/​host/​include/​arch/​string.h Relocate host string helpers.
src/​kernel/​arch/​host/​include/​arch/​sof.h Relocate host architecture header.
src/​kernel/​arch/​host/​include/​arch/​schedule/​task.h Relocate host task header.
src/​kernel/​arch/​host/​include/​arch/​lib/​wait.h Relocate host wait stubs.
src/​kernel/​arch/​host/​include/​arch/​lib/​cpu.h Relocate host CPU stubs.
src/​kernel/​arch/​host/​include/​arch/​lib/​cache.h Relocate host cache stubs.
src/​kernel/​arch/​host/​include/​arch/​drivers/​timer.h Relocate host timer stubs.
src/​kernel/​arch/​host/​include/​arch/​drivers/​interrupt.h Relocate host interrupt stubs.
src/​kernel/​arch/​host/​include/​arch/​drivers/​idc.h Relocate host IDC header.
src/​kernel/​arch/​host/​include/​arch/​debug/​panic.h Relocate host register-dump stub.
src/​kernel/​arch/​host/​include/​arch/​debug/​backtrace.h Relocate host backtrace support.
src/​kernel/​arch/​host/​include/​arch/​compiler_info.h Relocate compiler information definitions.
src/​kernel/​arch/​host/​configs/​library_defconfig Relocate host library configuration.
src/​kernel/​arch/​host/​CMakeLists.txt Update exported host include paths.
src/​kernel/​arch/​CMakeLists.txt Relocate architecture build entry point.
src/​Kconfig Source relocated architecture and platform Kconfig files.
src/​ipc/​README.md Update documented platform-driver path.
src/​include/​sof/​userspace/​README.md Remove relocated directories from the outside-kernel list.
src/​CMakeLists.txt Remove direct architecture and platform build registration.
src/​audio/​README.md Update kernel-only platform path.
scripts/​rebuild-testbench.sh Update documented permanent configuration path.
scripts/​kernel_user_partition.txt Update platform header classification pattern.
scripts/​cmake/​kconfig.cmake Update defconfig lookup paths and diagnostics.
scripts/​cmake/​defconfigs.cmake Update architecture defconfig discovery path.
CODEOWNERS Preserve platform ownership at relocated paths.
CMakeLists.txt Update unit-test architecture build path.
app/​CMakeLists.txt Update Xtensa architecture include path.
AGENTS.md Update kernel directory partition guidance.

Review effort: Balanced

INCS="-I$SOF/src/include -I$SOF/src/platform/posix/include -I$SOF/posix/include"
INCS="$INCS -I$SOF/src/arch/host/include -I$SOF/src/platform/$p/include/platform"
INCS="$INCS -I$SOF/src/platform/$p/include"
INCS="-I$SOF/src/include -I$SOF/src/kernel/platform/posix/include -I$SOF/posix/include"
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.

3 participants