Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
f0065a0
(---section submitted PRs START)
kv2019i Mar 23, 2026
c84e5e6
(---section submitted PRs STOP)
kv2019i Mar 23, 2026
9011bd3
(---section: user LL infra START)
kv2019i Mar 27, 2026
1375774
ipc: move standalone-test check later in ipc_init()
kv2019i Feb 10, 2026
4992c5c
audio: component: add comp_grant_access_to_thread()
kv2019i Feb 13, 2026
4b88295
pipeline: protect component connections with a mutex
kv2019i Feb 12, 2026
7aa0732
audio: component: replace k_mutex with sys_mutex for list_mutex
kv2019i Apr 22, 2026
ceb9685
rtos: alloc.h: add sof_sys_user_heap_get()
kv2019i Mar 18, 2026
225c89c
zephyr: rtos: userspace_helper.h: add sysuser memory partition
kv2019i Mar 26, 2026
4c57ab1
zephyr: lib: make sof_heap_alloc/free system calls
kv2019i Feb 13, 2026
e51fc1e
schedule: zephyr_ll_user: make the heap accessible from user-space
kv2019i Feb 13, 2026
4592862
schedule: zephyr_ll: convert pdata->sem into a dynamic object
kv2019i Feb 13, 2026
dd8ab4c
schedule: zephyr_ll: replace dynamic k_sem with embedded sys_sem
kv2019i Apr 22, 2026
8aaa004
schedule: zephyr_ll_user: move user accessible heap to common partition
kv2019i Feb 13, 2026
6d617ae
dma: dma_sg: allocate on specific heap
kv2019i Feb 16, 2026
a9eac57
buffer: extend ability to allocate on specific heap to all functions
kv2019i Feb 16, 2026
7530c71
app: overlays: ptl: add ll_usespace_overlay.conf
kv2019i Apr 14, 2026
8adac7f
(---section: user LL infra STOP)
kv2019i Mar 27, 2026
5c30af4
(---section host-zephyr START)
kv2019i Feb 19, 2026
02e4706
zephyr: userspace: sof_dma: allow circular SG lists
kv2019i Feb 19, 2026
44eed12
zephyr: lib: dma: make DMA platform data available to user-space
kv2019i Feb 13, 2026
18748e8
audio: host-zephyr: select heap when allocating host buffers
kv2019i Feb 13, 2026
011ace6
audio: host-zephyr: rework calls to DMA driver, remove channel pointer
kv2019i Feb 16, 2026
e96c5e7
audio: host-zephyr: pass component heap to dma_sg_alloc
kv2019i Feb 16, 2026
1ec47dc
alloc.h: remove rbrelloac() and rbrealloc_align()
kv2019i Feb 16, 2026
1b437a5
audio: host-zephyr: ensure host data heap is set
kv2019i Feb 16, 2026
ade66ae
audio: host-zephyr: make component usable from user-space
kv2019i Apr 10, 2026
114f88a
(---section host-zephyr STOP)
kv2019i Feb 19, 2026
e68bd58
(---section dai-zephyr START)
kv2019i Feb 19, 2026
ad044b8
audio: pcm_converter: make global tables available to user-space
kv2019i Feb 17, 2026
4189480
audio: buffer: replace notifier events with direct probe callbacks
kv2019i Feb 17, 2026
d67e32b
audio: dai-zephyr: make memory allocations user-space compatible
kv2019i Feb 17, 2026
720a961
lib: dai: make dai_get() and dai_put() compatible with user-space
kv2019i Feb 17, 2026
00b7b6b
audio: dai-zephyr: rework calls to DMA driver, remove channel pointer
kv2019i Feb 17, 2026
5a1981f
audio: dai-zephyr: convert spinlock into mutex for properties
kv2019i Feb 17, 2026
10469f9
audio: dai-zephyr: migrate to use dai_get_properties_copy()
kv2019i Feb 18, 2026
e85ee0c
dai: zephyr: replace k_mutex with sys_mutex for DAI lock
kv2019i Apr 22, 2026
38e0eea
(---section dai-zephyr STOP)
kv2019i Feb 19, 2026
dc9e7a8
(---section audio module infra START)
kv2019i Mar 3, 2026
cc54471
audio: module_adapter: alloc from LL user heap if LL run in user
kv2019i Feb 12, 2026
b01d846
audio: copier: export copier endpoint ops to user-space
kv2019i Feb 26, 2026
beeb3e3
(---section schduler changes START)
kv2019i Mar 3, 2026
1ec82a7
schedule: zephyr_ll: add zephyr_ll_task_free()
kv2019i Feb 26, 2026
a7f8d6e
schedule: zephyr_ll: add zephyr_ll_grant_access()
kv2019i Feb 26, 2026
41bde5d
schedule: zephyr_ll_user: make double-mapping conditional
kv2019i Mar 4, 2026
69fa3de
schedule: allocate the scheduler objects with sof_heap_alloc
kv2019i Feb 26, 2026
986e712
WIP: schedule: limit user-LL to core0
kv2019i Feb 26, 2026
ef69919
zephyr: schedule: allow user-space to access scheduler list
kv2019i Feb 26, 2026
64c9906
zephyr: wrapper: modify platform_dai_wallclock() for user-space
kv2019i Feb 26, 2026
8d7bb6c
schedule: add scheduler_init_context() and scheduler_free_context()
kv2019i Feb 27, 2026
e50f902
schedule: zephyr_ll: implement scheduler_init_context()
kv2019i Feb 26, 2026
885065e
schedule: ll_schedule_domain: add domain_thread_init/free ops
kv2019i Mar 4, 2026
0f26b80
schedule: zephyr_ll: implement thread_init/free domain ops
kv2019i Mar 4, 2026
8738054
schedule: zephyr_ll: ISR check is not needed when LL in user-space
kv2019i Mar 31, 2026
52f4d71
zephyr: userspace_helper: add new sys_user_heap_init()
kv2019i Mar 31, 2026
037faa1
(---section schduler changes END)
kv2019i Mar 3, 2026
8ea3917
(---section audio-user PRs START)
kv2019i Mar 25, 2026
3985991
schedule: zephyr_domain: use a different thread name for user LL
kv2019i Mar 24, 2026
137f2dc
WIP: audio: module_adapter: use correct heap when freeing
kv2019i Mar 20, 2026
05408b7
coherent: disable core debug checks for user-space builds
kv2019i Mar 20, 2026
8bbafa5
audio: place component driver list in user-space accessible partition
kv2019i Mar 24, 2026
4a996d1
audio: module_adapter: make adapter buffering user-space compatible
kv2019i Mar 24, 2026
77a3ea9
audio: pipeline: use LL scheduler mutex for userspace pipeline triggers
kv2019i Feb 26, 2026
a6fd86d
schedule: zephyr_ll: replace k_mutex with sys_mutex for scheduler lock
kv2019i Apr 22, 2026
316ffcd
audio: buffer: move dp_heap_user lifecycle to IPC and module adapter
kv2019i Feb 17, 2026
4cb0b12
audio: host-zepher: add HOST_DMA_IPC_POSITION_UPDATES Kconfig
kv2019i Mar 31, 2026
526e4df
audio: copier_host: make FPI sync group availble to user-space
kv2019i Mar 31, 2026
766d92c
audio: copier: avoid IRQ lock/unlock in chmap code
kv2019i Mar 31, 2026
95af5d7
audio: module_adapter: avoid IRQ lock/unlock in prepare()
kv2019i Mar 31, 2026
a57d2b5
audio: module_adapter: make data_blob compatible with user-space
kv2019i Apr 14, 2026
b6811eb
audio: module-adapter: make generic.c user-space compatible
kv2019i Apr 16, 2026
fc05056
audio: make comp_drivers_get() accessible from user-space
kv2019i Apr 15, 2026
503899c
dai: turn dai_get_device() into a syscall
kv2019i Apr 15, 2026
c825bd3
audio: chain_dma: add user-space memory and scheduling support
kv2019i Apr 21, 2026
6ede577
(---section audio user PRs STOP)
kv2019i Mar 25, 2026
e0f1688
(---section: IPC user support START)
kv2019i Mar 17, 2026
96b722a
userspace: split ipc files into user and kernel features. REVISIT memcpy
kv2019i Apr 1, 2026
e717d81
ipc4: helper: use LL scheduler lock for userspace builds
kv2019i Mar 26, 2026
05a0ef6
WIP: ipc: implement user-space IPC handling for CREATE_PIPELINE
kv2019i Mar 12, 2026
af6a001
WIP: ipc: ipc4: route PIPELINE_DELETE to user-space handler
kv2019i Mar 30, 2026
a1d65c3
ipc: make IPC stack thread size configurable
Apr 1, 2026
30ceb03
ipc: ipc4: use sof_heap_alloc in ipc4_add_comp_dev()
kv2019i Mar 19, 2026
ec38840
ipc: turn ipc_msg_reply() into a system call
kv2019i Mar 30, 2026
0dcb554
ipc: ipc4: use correct API to get DMA status
kv2019i Mar 19, 2026
2e6c52e
ipc: ipc4: dai: fix direct use of DMA driver calls
kv2019i Apr 16, 2026
cd8b1dd
ipc: use application heap for IPC pipeline and component allocations
kv2019i Mar 20, 2026
dc7ba16
ipc4: make fw_reg mutex available to user-space
kv2019i Apr 15, 2026
b4088ee
ipc: ipc4: helper: make ipc4_search_for_drv() userspace compatible
kv2019i Mar 31, 2026
b861ac8
WIP: schedule: add multi-core support for user-space LL scheduler
kv2019i Apr 22, 2026
3908f2c
ipc: ipc-helper: trace context not used in user-space
kv2019i Apr 13, 2026
0d6ce0c
ipc: ipc4: use the core number from IPC config
kv2019i Apr 13, 2026
d322031
ipc: ipc4: helper: enable limited ipc_comp_connect() in user-space
kv2019i Apr 13, 2026
8c7ff96
WIP: ipc: ipc4: route MOD_CONFIG_GET/SET to user-space handler
kv2019i Apr 10, 2026
d6479b2
WIP: ipc: ipc4: route MOD_BIND/UNBIND to user-space handler
kv2019i Apr 10, 2026
828cdb3
WIP: ipc: ipc4: route MOD_INIT_INSTANCE to user-space handler
kv2019i Apr 15, 2026
a1dd557
WIP: ipc: ipc4: route GLB_SET_PIPELINE_STATE to user-space handler
kv2019i Apr 16, 2026
9287148
WIP: ipc: ipc4: route MOD_LARGE_CONFIG_GET/SET user-space
kv2019i Apr 16, 2026
a5abb94
(---section: IPC user support STOP)
kv2019i Mar 27, 2026
821c788
(---section test-case START)
kv2019i Feb 19, 2026
42075cf
zephyr: test: userspace: add pipeline_two_components test
kv2019i Apr 22, 2026
5b14953
zephyr: test: userspace: add ipc4_create_pipeline_check
kv2019i Mar 13, 2026
b75f472
(---section WIP mandatory changes START)
kv2019i Feb 19, 2026
7ef89f8
audio: pipeline: enable position reporting for user-space pipelines
kv2019i Mar 17, 2026
6de0ca4
WIP: ipc: expose coldrodata to IPC user thread
kv2019i Apr 16, 2026
47b4437
HACK: audio: collection of feature limitations to run LL in user
kv2019i Feb 26, 2026
25e27c9
[DO NOT MERGE] zephyr.yml: use Zephyr PR107341
kv2019i Apr 22, 2026
70020ab
zephyr: app: board: add native_sim board target
lrgirdwo Mar 12, 2026
9cac770
scripts: sof-qemu-run: add native_sim and valgrind support
lrgirdwo Mar 12, 2026
6e975be
zephyr: alloc: Map native_sim heap to the C library
lrgirdwo Mar 13, 2026
60112e5
shell: fix build error
lrgirdwo Mar 27, 2026
2f370eb
qemu: exit for boot test only otherwise spin
lrgirdwo Mar 27, 2026
daa33a4
audio: dai: Guard DAI_INTEL_UAOL with preprocessor checks
lrgirdwo Mar 30, 2026
85d4753
zephyr: alloc: Add 16MB allocation limit to native_sim host allocator
lrgirdwo Mar 30, 2026
9775a76
platform: posix: Correct posix_fuzz_sz to size_t to prevent truncation
lrgirdwo Mar 30, 2026
d9d7dc1
qemu: maths: make the maths APIs available for native sim
lrgirdwo Mar 30, 2026
d76b3d6
qemu: native_sim: run the ztests and quit after completion
lrgirdwo Mar 30, 2026
f2093b3
ipc: ipc4: Centralize component list and perf data initialization
lrgirdwo Mar 6, 2026
238c08f
test: audio: add unit test for aria
lrgirdwo Mar 12, 2026
cca1630
test: audio: add unit test for asrc
lrgirdwo Mar 12, 2026
ddc594e
test: audio: add unit test for codec
lrgirdwo Mar 12, 2026
975bed7
test: audio: add unit test for copier
lrgirdwo Mar 12, 2026
92f8eab
test: audio: add unit test for crossover
lrgirdwo Mar 12, 2026
85fe637
test: audio: add unit test for dcblock
lrgirdwo Mar 12, 2026
0415b65
test: audio: add unit test for google
lrgirdwo Mar 12, 2026
f96d288
test: audio: add unit test for igo_nr
lrgirdwo Mar 12, 2026
ca2305c
test: audio: add unit test for level_multiplier
lrgirdwo Mar 12, 2026
a1e4fb3
test: audio: add unit test for mfcc
lrgirdwo Mar 12, 2026
d3f1a82
test: audio: add unit test for mic_privacy_manager
lrgirdwo Mar 12, 2026
4009dff
test: audio: add unit test for mixin_mixout
lrgirdwo Mar 12, 2026
e9c658a
test: audio: add unit test for multiband_drc
lrgirdwo Mar 12, 2026
a066637
test: audio: add unit test for nxp
lrgirdwo Mar 12, 2026
3293743
test: audio: add unit test for rtnr
lrgirdwo Mar 12, 2026
ff07d74
test: audio: add unit test for smart_amp
lrgirdwo Mar 12, 2026
b8ca67c
test: audio: add unit test for sound_dose
lrgirdwo Mar 12, 2026
1813076
test: audio: add unit test for src
lrgirdwo Mar 12, 2026
babab21
test: audio: add unit test for stft_process
lrgirdwo Mar 12, 2026
b51c4c4
test: audio: add unit test for tdfb
lrgirdwo Mar 12, 2026
4f94393
test: audio: add unit test for tensorflow
lrgirdwo Mar 12, 2026
69e3450
test: audio: add unit test for tone
lrgirdwo Mar 12, 2026
07ac71b
test: audio: add unit test for up_down_mixer
lrgirdwo Mar 12, 2026
136561c
ipc4: add qemu gateway types and expose pipeline creation
lrgirdwo Mar 12, 2026
49034e7
copier: implement qemu gateway type for userspace testing
lrgirdwo Mar 12, 2026
1af4338
tests: userspace: add null checks for dma and dai devices
lrgirdwo Mar 12, 2026
5acea3b
tests: userspace: split ipc4 pipeline test into util, native, user
lrgirdwo Mar 12, 2026
7f478ad
wip: to be commited
lrgirdwo Mar 30, 2026
5947265
build: ptl-sim: fix simulation board configurations and qemu runner
lrgirdwo Mar 31, 2026
e0febd9
scripts: qemu: directly invoke intel_ace QEMU for ptl and wcl targets
lrgirdwo Mar 31, 2026
aeabe84
tests: ptl-sim: enable ztests for ptl sim target
lrgirdwo Mar 31, 2026
52a6249
scripts: sof-qemu-run: update ac30 qemu arguments and mtrace export
lrgirdwo Mar 31, 2026
626deaf
scripts: qemu-run: support entry to qemu monitor
lrgirdwo Apr 15, 2026
9a8fb75
scripts: qemu function decoder.
lrgirdwo Apr 15, 2026
87239c6
kconfig: ace30: add mtrace to conf
lrgirdwo Apr 15, 2026
f2834ac
ztest: cmake: change config to userspace LL.
lrgirdwo Apr 15, 2026
2508a91
app: overlay: ztest overlay.
lrgirdwo Apr 15, 2026
f65bd89
scripts: add --rebuild option to qemu runner
lrgirdwo Apr 16, 2026
b05afa1
scripts: trigger qemu monitor unconditionally on timeout
lrgirdwo Apr 16, 2026
3158823
scripts: check external QEMU log files for inactivity
lrgirdwo Apr 16, 2026
b9e73bf
scripts: monitor ace-trace exclusively for qemu inactivity timeouts
lrgirdwo Apr 16, 2026
8108b1f
scripts: natively scan mtrace file and adjust inactivity timeouts
lrgirdwo Apr 16, 2026
48039d9
scripts: add configurable timeout parameter to override default wait
lrgirdwo Apr 16, 2026
feaf848
scripts: add --cores argument to support multithreading simulation
lrgirdwo Apr 17, 2026
4366714
scripts: add --tcp-monitor parameter for qemu tcp monitor socket
lrgirdwo Apr 17, 2026
2b8e5be
tests: userspace: grant ksem test threads access to .log_strings section
lrgirdwo Apr 17, 2026
910fd13
tests: userspace: apply log string boundaries dynamically to mpart2 slot
lrgirdwo Apr 17, 2026
d1f61cd
tests: userspace: replace bitmasking layout with Zephyr sys/util.h ma…
lrgirdwo Apr 17, 2026
bbac504
tests: userspace: standardize layout sizing to CONFIG_MMU_PAGE_SIZE
lrgirdwo Apr 17, 2026
c127bbd
tests: userspace: migrate log_strings boundary to __rodata_region to …
lrgirdwo Apr 17, 2026
dcd5403
tests: userspace: natively map k_log_partition to resolve privilege f…
lrgirdwo Apr 17, 2026
76fcca4
Revert "tests: userspace: migrate log_strings boundary to __rodata_re…
lrgirdwo Apr 17, 2026
11d338c
Reapply "tests: userspace: migrate log_strings boundary to __rodata_r…
lrgirdwo Apr 17, 2026
0421c4e
tests: userspace: enforce strict partition teardown across all tests
lrgirdwo Apr 17, 2026
f6d8e4a
tests: userspace: align dynamic log partition explicitly over bounded…
lrgirdwo Apr 17, 2026
3a0afdf
tests: userspace: remove duplicate k_log_partition mappings
lrgirdwo Apr 17, 2026
0ecf5e3
tests: userspace: temporarily disable initial test threads
lrgirdwo Apr 17, 2026
6e62989
scripts: qemu-run: inject CONFIG_SOF_USERSPACE_LL=y for ztest target …
lrgirdwo Apr 17, 2026
651c0e0
scripts: qemu-ipc: Add multi-payload messaging and LLEXT dynamic loading
lrgirdwo Apr 17, 2026
ff9e708
tests: userspace: fix pipeline component dependencies
lrgirdwo Apr 17, 2026
7c82f20
debug: telemetry: add missing SOF_TELEMETRY dependency to performance…
lrgirdwo Apr 17, 2026
ac89092
tests: ztest: expand max thread bytes limit for prebuilt hash
lrgirdwo Apr 17, 2026
c9f22a1
tests: allow standard firmware boot testing
lrgirdwo Apr 18, 2026
498d45a
scripts: qemu-run: add standard firmware ZTest execution flag
lrgirdwo Apr 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,6 @@ build*/
cscope.*
ncscope.*

# VSCode project metadata
.vscode/launch.json
.vscode/settings.json
2 changes: 1 addition & 1 deletion app/boards/intel_adsp/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ config POWER_DOMAIN
# ----------------------------------------

config LOG_BACKEND_ADSP_MTRACE
default y
default y if LOG

config LOG_FUNC_NAME_PREFIX_ERR
default y
Expand Down
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace30_ptl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ CONFIG_PM_DEVICE_RUNTIME_ASYNC=n

# Zephyr / logging
CONFIG_LOG_BACKEND_ADSP=n
CONFIG_LOG_BACKEND_ADSP_MTRACE=y
CONFIG_LOG_FLUSH_SLEEP_US=5000
CONFIG_WINSTREAM_CONSOLE=n

Expand Down
48 changes: 43 additions & 5 deletions app/boards/intel_adsp_ace30_ptl_sim.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ CONFIG_PANTHERLAKE=y
CONFIG_IPC_MAJOR_4=y

# turn off SOF drivers
CONFIG_CORE_COUNT=5

CONFIG_ZTEST=y
CONFIG_SOF_BOOT_TEST_STANDALONE=y
CONFIG_TEST_USERSPACE=y
CONFIG_MM_DRV=y
CONFIG_ZEPHYR_NATIVE_DRIVERS=y
CONFIG_SOF_USERSPACE_LL=y

CONFIG_COMP_SRC=y

CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y
Expand All @@ -12,7 +21,7 @@ CONFIG_PM=n
# enable Zephyr drivers
CONFIG_DAI_INIT_PRIORITY=70
CONFIG_DAI_DMIC_HW_IOCLK=19200000
CONFIG_DAI_DMIC_HAS_OWNERSHIP=y
CONFIG_DAI_DMIC_HAS_OWNERSHIP=n
CONFIG_DAI_DMIC_HAS_MULTIPLE_LINE_SYNC=y
CONFIG_DAI_INTEL_SSP=n
CONFIG_DMA_INTEL_ADSP_GPDMA=n
Expand All @@ -24,16 +33,16 @@ CONFIG_HEAP_MEM_POOL_SIZE=8192
CONFIG_RIMAGE_SIGNING_SCHEMA="ptl"

CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_LOG=n
CONFIG_LOG=y
CONFIG_LOG_MODE_DEFERRED=n
CONFIG_LOG_FUNC_NAME_PREFIX_INF=n
CONFIG_SYS_CLOCK_TICKS_PER_SEC=12000
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=19200000

CONFIG_LOG_BACKEND_ADSP_MTRACE=n
CONFIG_SOF_LOG_LEVEL_INF=n
CONFIG_SOF_LOG_LEVEL_OFF=y
CONFIG_ZEPHYR_LOG=n
CONFIG_SOF_LOG_LEVEL_INF=y
CONFIG_SOF_LOG_LEVEL_OFF=n
CONFIG_ZEPHYR_LOG=y

CONFIG_INTEL_ADSP_IPC=y

Expand All @@ -45,3 +54,32 @@ CONFIG_PM_PREWAKEUP_CONV_MODE_CEIL=y
CONFIG_COMP_KPB=n

CONFIG_USERSPACE=y
CONFIG_MAX_THREAD_BYTES=4

CONFIG_COMP_UP_DOWN_MIXER=y
CONFIG_COMP_MODULE_ADAPTER=y
CONFIG_PASSTHROUGH_CODEC=y
CONFIG_COMP_ARIA=y
CONFIG_COMP_MFCC=y
CONFIG_COMP_CROSSOVER=y
CONFIG_COMP_DCBLOCK=y
CONFIG_COMP_IIR=y
CONFIG_COMP_DRC=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_COMP_LEVEL_MULTIPLIER=y
CONFIG_COMP_RTNR=y
CONFIG_COMP_RTNR_STUB=y
CONFIG_COMP_SMART_AMP=y
CONFIG_COMP_TDFB=y
CONFIG_COMP_STFT_PROCESS=y
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=y
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=y
CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_IGO_NR=y
CONFIG_COMP_IGO_NR_STUB=y
CONFIG_COMP_NXP_EAP=y
CONFIG_COMP_NXP_EAP_STUB=y
CONFIG_CPP=y
CONFIG_STD_CPP17=y
CONFIG_COMP_SOUND_DOSE=y
2 changes: 1 addition & 1 deletion app/boards/intel_adsp_ace30_wcl_sim.conf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ CONFIG_PM=n
# enable Zephyr drivers
CONFIG_DAI_INIT_PRIORITY=70
CONFIG_DAI_DMIC_HW_IOCLK=19200000
CONFIG_DAI_DMIC_HAS_OWNERSHIP=y
CONFIG_DAI_DMIC_HAS_OWNERSHIP=n
CONFIG_DAI_DMIC_HAS_MULTIPLE_LINE_SYNC=y
CONFIG_DAI_INTEL_SSP=n
CONFIG_DMA_INTEL_ADSP_GPDMA=n
Expand Down
6 changes: 6 additions & 0 deletions app/boards/native_sim.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CONFIG_ZEPHYR_POSIX=y
CONFIG_SYS_HEAP_BIG_ONLY=y
CONFIG_ZEPHYR_NATIVE_DRIVERS=y
CONFIG_ZEPHYR_LOG=y
CONFIG_ZTEST=y
CONFIG_SOF_BOOT_TEST_STANDALONE=y
34 changes: 32 additions & 2 deletions app/boards/qemu_xtensa_dc233c_mmu.conf
Original file line number Diff line number Diff line change
@@ -1,10 +1,40 @@
# SPDX-License-Identifier: BSD-3-Clause
CONFIG_IPC_MAJOR_4=y
CONFIG_USERSPACE=y
CONFIG_ZTEST=y
#CONFIG_ZTEST=y
CONFIG_TEST_USERSPACE=y
CONFIG_MM_DRV=y
CONFIG_ZEPHYR_NATIVE_DRIVERS=y
CONFIG_SOF_USERSPACE_LL=y
#CONFIG_SOF_BOOT_TEST_STANDALONE=y

# Ensure the kernel can exit QEMU on shutdown/panic
CONFIG_REBOOT=y
#CONFIG_REBOOT=y
#CONFIG_ZTEST_STACK_SIZE=4096
CONFIG_COMP_UP_DOWN_MIXER=y
CONFIG_COMP_MODULE_ADAPTER=y
CONFIG_PASSTHROUGH_CODEC=y
CONFIG_COMP_ARIA=y
CONFIG_COMP_MFCC=y
CONFIG_COMP_CROSSOVER=y
CONFIG_COMP_DCBLOCK=y
CONFIG_COMP_IIR=y
CONFIG_COMP_DRC=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_COMP_LEVEL_MULTIPLIER=y
CONFIG_COMP_RTNR=y
CONFIG_COMP_RTNR_STUB=y
CONFIG_COMP_SMART_AMP=y
CONFIG_COMP_TDFB=y
CONFIG_COMP_STFT_PROCESS=y
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=y
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=y
CONFIG_GOOGLE_CTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_IGO_NR=y
CONFIG_COMP_IGO_NR_STUB=y
CONFIG_COMP_NXP_EAP=y
CONFIG_COMP_NXP_EAP_STUB=y
CONFIG_CPP=y
CONFIG_STD_CPP17=y
CONFIG_COMP_SOUND_DOSE=y
22 changes: 22 additions & 0 deletions app/overlays/ptl/ll_userspace_overlay.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
CONFIG_SOF_USERSPACE_LL=y

# temporary (but for now mandatory) settings
CONFIG_SOF_ZEPHYR_USERSPACE_MODULE_HEAP_SIZE=16384

# make the drivers work in user-space
CONFIG_SOF_USERSPACE_INTERFACE_DMA=y
CONFIG_DAI_USERSPACE=y

# disable features that don't work in user-space (at least yet)
CONFIG_COLD_STORE_EXECUTE_DEBUG=n
CONFIG_CROSS_CORE_STREAM=n
CONFIG_INTEL_ADSP_MIC_PRIVACY=n
CONFIG_XRUN_NOTIFICATIONS_ENABLE=n
CONFIG_SOF_BOOT_TEST_ALLOWED=n
CONFIG_SOF_TELEMETRY_PERFORMANCE_MEASUREMENTS=n
CONFIG_SOF_TELEMETRY_IO_PERFORMANCE_MEASUREMENTS=n

# disable llext (hits privilege issues in user-space now)
CONFIG_LLEXT_STORAGE_WRITABLE=n
CONFIG_LLEXT_EXPERIMENTAL=n
CONFIG_MODULES=n
1 change: 1 addition & 0 deletions app/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ CONFIG_SCHED_CPU_MASK=y
CONFIG_SYS_CLOCK_TICKS_PER_SEC=15000
CONFIG_DAI=y
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_SPIN_VALIDATE=n
18 changes: 16 additions & 2 deletions app/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ static int sof_app_main(void)
return 0;
}

#if CONFIG_SOF_BOOT_TEST && defined(QEMU_BOOT_TESTS)
#if defined(QEMU_BOOT_TESTS)
/* cleanly exit qemu so CI can continue and check test results */
static inline void qemu_xtensa_exit(int status)
{
Expand All @@ -73,14 +73,28 @@ static inline void qemu_xtensa_exit(int status)
}
#endif

#ifdef CONFIG_REBOOT
void sys_arch_reboot(int type)
{
#if defined(QEMU_BOOT_TESTS)
qemu_xtensa_exit(type);
#endif
while (1) {
k_cpu_idle();
}
}
#endif

#if CONFIG_ZTEST
void test_main(void)
{
sof_app_main();
#if CONFIG_SOF_BOOT_TEST && defined(QEMU_BOOT_TESTS)
#if CONFIG_SOF_BOOT_TEST
sof_run_boot_tests();
#if defined(QEMU_BOOT_TESTS)
qemu_xtensa_exit(0);
#endif
#endif
}
#else
int main(void)
Expand Down
8 changes: 8 additions & 0 deletions app/ztest_overlay.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CONFIG_ZTEST=y
CONFIG_SOF_BOOT_TEST_STANDALONE=y
CONFIG_LOG_BACKEND_ADSP_MTRACE=y
CONFIG_ZTEST_STACK_SIZE=4096
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_ISR_STACK_SIZE=4096
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_MAX_THREAD_BYTES=4
24 changes: 1 addition & 23 deletions posix/include/rtos/alloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,29 +97,6 @@ static inline void *rballoc(uint32_t flags, size_t bytes)
return rballoc_align(flags, bytes, PLATFORM_DCACHE_ALIGN);
}

/**
* Changes size of the memory block allocated.
* @param ptr Address of the block to resize.
* @param flags Flags, see SOF_MEM_FLAG_...
* @param bytes New size in bytes.
* @param old_bytes Old size in bytes.
* @param alignment Alignment in bytes.
* @return Pointer to the resized memory of NULL if failed.
*/
void *rbrealloc_align(void *ptr, uint32_t flags, size_t bytes,
size_t old_bytes, uint32_t alignment);

/**
* Similar to rballoc_align(), returns resized buffer aligned to
* PLATFORM_DCACHE_ALIGN.
*/
static inline void *rbrealloc(void *ptr, uint32_t flags,
size_t bytes, size_t old_bytes)
{
return rbrealloc_align(ptr, flags, bytes, old_bytes,
PLATFORM_DCACHE_ALIGN);
}

/**
* Frees the memory block.
* @param ptr Pointer to the memory block.
Expand All @@ -141,6 +118,7 @@ void *sof_heap_alloc(struct k_heap *heap, uint32_t flags, size_t bytes,
size_t alignment);
void sof_heap_free(struct k_heap *heap, void *addr);
struct k_heap *sof_sys_heap_get(void);
struct k_heap *sof_sys_user_heap_get(void);

/**
* Calculates length of the null-terminated string.
Expand Down
21 changes: 21 additions & 0 deletions posix/include/rtos/mutex.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,25 @@ static inline int sys_mutex_unlock(struct sys_mutex *mutex)
return 0;
}

/* provide a no-op implementation for zephyr/sys/sem.h */

struct sys_sem {
};

static inline int sys_sem_init(struct sys_sem *sem, unsigned int initial_count,
unsigned int limit)
{
return 0;
}

static inline int sys_sem_give(struct sys_sem *sem)
{
return 0;
}

static inline int sys_sem_take(struct sys_sem *sem, k_timeout_t timeout)
{
return 0;
}

#endif
6 changes: 4 additions & 2 deletions posix/include/sof/lib/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

struct comp_buffer;
struct comp_dev;
struct k_heap;

/** \addtogroup sof_dma_drivers DMA Drivers
* DMA Drivers API specification.
Expand Down Expand Up @@ -511,13 +512,14 @@ static inline void dma_sg_init(struct dma_sg_elem_array *ea)
ea->elems = NULL;
}

int dma_sg_alloc(struct dma_sg_elem_array *ea,
int dma_sg_alloc(struct k_heap *heap,
struct dma_sg_elem_array *ea,
uint32_t flags,
uint32_t direction,
uint32_t buffer_count, uint32_t buffer_bytes,
uintptr_t dma_buffer_addr, uintptr_t external_addr);

void dma_sg_free(struct dma_sg_elem_array *ea);
void dma_sg_free(struct k_heap *heap, struct dma_sg_elem_array *ea);

/**
* \brief Get the total size of SG buffer
Expand Down
Loading
Loading