userspace: Add userspace proxy#10149
Closed
softwarecki wants to merge 6 commits intothesofproject:mainfrom
Closed
Conversation
lyakh
reviewed
Aug 5, 2025
| CONFIG_SOF_STACK_SIZE, 0, NULL); | ||
|
|
||
| wd->ipc_worker_tid = | ||
| k_work_user_queue_thread_get(&sd->ipc_user_work_q); |
Collaborator
There was a problem hiding this comment.
so for every module you propose to add a thread, handling the IPC work queue and then when an IPC arrives, the submitter changes to the module domain, submits the IPC to the work queue, after which it's processed by the queue thread?
Collaborator
Author
There was a problem hiding this comment.
The thread is created for a security domain, which will include multiple modules from a single vendor.
New overlay config created to build SOF with userspace mode enabled. Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com> Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
New overlay config created to build SOF with userspace mode enabled. Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com> Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Add helper functions user_add_memory and user_remove_memory that allows to add/remove memory regions from the memory domain. The purpose of these functions is to round addresses appropriately for the memory domain. Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com> Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The non-privileged modules code should be executed in separate thread executed in userspace mode. This way the code and data owned by such module will be isolated from other non-privileged modules in the system. The implementation creates user_work_queue threads that will service all IPC's for all such modules. There are security domains defined that will combines service of IPC's for modules that could exist without isolation (eg. several instances of the same module or modules originating from single vendor). Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com> Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Add dev_user parameter. Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
cb72d5f to
3f3ac8d
Compare
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.
PR adds a thread handling ipc requests that calls module methods in the user context.