qemu: add support for qemu MMU target.#10575
Open
lgirdwood wants to merge 4 commits intothesofproject:mainfrom
Open
qemu: add support for qemu MMU target.#10575lgirdwood wants to merge 4 commits intothesofproject:mainfrom
lgirdwood wants to merge 4 commits intothesofproject:mainfrom
Conversation
${sof_module} no longer set anywhere and resolved to NULL. Fix with
correct paths.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Userspace can be built without fast_get(). Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a qemu target for SOF that will build with native zephyr support for drivers including xtensa MMU. This will be used for GH worklow ztest validation and as a SDV for userspace work. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Call directly here as more qemu target wont simulate IPC which is used as entry for testing on HW. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
There was a problem hiding this comment.
Pull request overview
Adds a minimal SOF “qemu_xtensa” platform wiring to enable running Zephyr userspace/ztest workloads on QEMU Xtensa DC233C (incl. MMU variant), primarily for CI and local development.
Changes:
- Introduce a new
qemu_xtensaplatform subtree (platform source + stub platform headers) and hook it into Zephyr/XTOS CMake selection. - Extend build tooling (
xtensa-build-zephyr.py,set_xtensa_params.sh) and app board configs to build/run QEMU DC233C targets. - Update app entry to optionally run SOF boot tests on QEMU and adjust userspace syscall gating.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| zephyr/test/userspace/README.md | Documents how to build/run userspace tests on QEMU DC233C MMU. |
| zephyr/CMakeLists.txt | Adds include paths and selects qemu_xtensa platform + sources when building for QEMU Xtensa. |
| src/platform/qemu_xtensa/platform.c | Adds a (currently minimal) QEMU platform implementation file. |
| src/platform/qemu_xtensa/include/platform/trace/trace.h | Adds a dummy trace header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/platform.h | Adds a dummy platform header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/lib/memory.h | Adds a dummy platform memory header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/lib/mailbox.h | Adds a dummy mailbox layout/ops header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/lib/dma.h | Adds a dummy DMA header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/lib/dai.h | Adds a dummy DAI header for the QEMU platform. |
| src/platform/qemu_xtensa/include/platform/lib/clk.h | Adds a dummy clock header for the QEMU platform. |
| src/platform/qemu_xtensa/CMakeLists.txt | Adds CMake glue to build QEMU platform sources in XTOS-style builds. |
| src/platform/CMakeLists.txt | Registers the qemu_xtensa platform subdirectory when selected. |
| src/audio/module_adapter/module/generic.c | Wraps userspace syscall verification/marshalling for mod_fast_get behind CONFIG_FAST_GET. |
| scripts/xtensa-build-zephyr.py | Adds QEMU board targets and skips firmware install/RI info for QEMU builds. |
| scripts/set_xtensa_params.sh | Adds QEMU xtensa toolchain settings and sets Zephyr toolchain variant for QEMU targets. |
| app/src/main.c | Adds optional QEMU-only boot test execution and includes boot test header. |
| app/boards/qemu_xtensa_dc233c_mmu.conf | Adds a Zephyr app board config for QEMU DC233C MMU. |
| app/boards/qemu_xtensa_dc233c.conf | Adds a Zephyr app board config for QEMU DC233C. |
| app/CMakeLists.txt | Switches SOF include dirs to a repo-relative path (instead of ${sof_module}). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
Author
Ack - get more MMU on developers desks :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intended use is CI ztests and userspace development