diff --git a/src/Kconfig b/src/Kconfig index 75abdaa6c096..3022dfbff479 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -23,8 +23,6 @@ rsource "ipc/Kconfig" rsource "math/Kconfig" -rsource "library_manager/Kconfig" - rsource "debug/telemetry/Kconfig" rsource "debug/debug_stream/Kconfig" diff --git a/src/include/sof/userspace/README.md b/src/include/sof/userspace/README.md index ac26aa07ab6d..b9ba4a9169dc 100644 --- a/src/include/sof/userspace/README.md +++ b/src/include/sof/userspace/README.md @@ -74,8 +74,8 @@ its subdirectories span all tiers. | Tier | Meaning | Directories | |------|---------|-------------| -| **Kernel-only** | OS integration, HAL, boot, inter-core. Never executes in a user thread. Must not be reached directly from user code — only via a syscall. | `kernel/` (`kernel/idc/`, `kernel/init/`), `arch/`, `drivers/`, `platform/`, `probe/` *, `logging/` *, `trace/` * | -| **Boundary / bridge** | Owns the syscalls and the thread / memory-domain setup. Split internally: some translation units run kernel-side, some user-side (e.g. `handler-kernel.c` vs `handler-user.c`, `zephyr_ll.c` vs `zephyr_ll_user.c`). | `schedule/`, `ipc/`, `library_manager/` *, `debug/debug_stream/` *, and (in the Zephyr integration tree) `zephyr/syscall/` | +| **Kernel-only** | OS integration, HAL, boot, inter-core. Never executes in a user thread. Must not be reached directly from user code — only via a syscall. | `kernel/` (`kernel/idc/`, `kernel/init/`, `kernel/library_manager/`), `arch/`, `drivers/`, `platform/`, `probe/` *, `logging/` *, `trace/` * | +| **Boundary / bridge** | Owns the syscalls and the thread / memory-domain setup. Split internally: some translation units run kernel-side, some user-side (e.g. `handler-kernel.c` vs `handler-user.c`, `zephyr_ll.c` vs `zephyr_ll_user.c`). | `schedule/`, `ipc/`, `debug/debug_stream/` *, and (in the Zephyr integration tree) `zephyr/syscall/` | | **Application** | Audio pipeline / component logic that runs in user threads under userspace configs. | `audio/` | | **Shared library** | Context-agnostic code linked into whichever context calls it. Must stay "user-safe": no privileged operations (no direct MMIO, no spinlocks held across syscalls, no raw kernel object access) so it is safe when pulled into a user build. | `math/`, `module/` | | **Mixed** | A directory whose files span more than one tier; see its own README for per-file classification. | `lib/` | @@ -123,7 +123,7 @@ syscall by subsystem: | DAI | `dai_get_device` | `sof/lib/dai-zephyr.h` | `zephyr/syscall/dai.c` / `lib/dai.c` | | CPU | `cpu_get_id` | `sof/lib/cpu.h` | `zephyr/syscall/cpu.c` / `zephyr/lib/cpu.c` | | Module management | `mod_balloc_align`, `mod_alloc_ext`, `mod_free`, `mod_free_all`, `mod_data_blob_handler_new`, `mod_fast_get` | `sof/audio/module_adapter/module/generic.h` | scattered: `audio/module_adapter/module/generic.c` | -| Library manager | `lib_manager_free_module` | `sof/lib_manager.h` | scattered: `library_manager/lib_manager.c` | +| Library manager | `lib_manager_free_module` | `sof/lib_manager.h` | scattered: `kernel/library_manager/lib_manager.c` | | Scheduling | `zephyr_ll_task_sem_alloc`, `zephyr_ll_task_sem_free`, `scheduler_dp_internal_free`, `scheduler_dp_ll_tick` | `sof/schedule/ll_schedule_domain.h`, `sof/schedule/dp_schedule.h` | scattered: `schedule/zephyr_ll.c`, `schedule/zephyr_dp_schedule*.c` | | Debug | `debug_stream_slot_send_record` | `user/debug_stream_slot.h` | scattered: `debug/debug_stream/debug_stream_slot.c` | diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index 1cd295617aad..d1737be47521 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -12,3 +12,4 @@ endif() add_subdirectory(idc) add_subdirectory(init) +add_subdirectory(library_manager) diff --git a/src/kernel/Kconfig b/src/kernel/Kconfig index 4378b4d74d0b..b61161f9d34d 100644 --- a/src/kernel/Kconfig +++ b/src/kernel/Kconfig @@ -3,3 +3,5 @@ # Code that only runs in kernel mode, see scripts/kernel_user_partition.txt. rsource "idc/Kconfig" + +rsource "library_manager/Kconfig" diff --git a/src/library_manager/CMakeLists.txt b/src/kernel/library_manager/CMakeLists.txt similarity index 100% rename from src/library_manager/CMakeLists.txt rename to src/kernel/library_manager/CMakeLists.txt diff --git a/src/library_manager/Kconfig b/src/kernel/library_manager/Kconfig similarity index 100% rename from src/library_manager/Kconfig rename to src/kernel/library_manager/Kconfig diff --git a/src/library_manager/lib_manager.c b/src/kernel/library_manager/lib_manager.c similarity index 100% rename from src/library_manager/lib_manager.c rename to src/kernel/library_manager/lib_manager.c diff --git a/src/library_manager/lib_notification.c b/src/kernel/library_manager/lib_notification.c similarity index 100% rename from src/library_manager/lib_notification.c rename to src/kernel/library_manager/lib_notification.c diff --git a/src/library_manager/llext_manager.c b/src/kernel/library_manager/llext_manager.c similarity index 100% rename from src/library_manager/llext_manager.c rename to src/kernel/library_manager/llext_manager.c diff --git a/src/library_manager/llext_manager_dram.c b/src/kernel/library_manager/llext_manager_dram.c similarity index 100% rename from src/library_manager/llext_manager_dram.c rename to src/kernel/library_manager/llext_manager_dram.c diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt index f471aea8e0b7..0597a89912bb 100644 --- a/zephyr/CMakeLists.txt +++ b/zephyr/CMakeLists.txt @@ -240,7 +240,6 @@ add_subdirectory(../src/debug/ debug_unused_install/) add_subdirectory(../src/ipc/ ipc_unused_install/) add_subdirectory(../src/kernel/ kernel_unused_install/) add_subdirectory(../src/lib/ lib_unused_install/) -add_subdirectory(../src/library_manager/ library_manager_unused_install/) add_subdirectory(../src/logging/ logging_unused_install/) add_subdirectory(../src/probe/ probes_unused_install/) add_subdirectory(../src/samples/ samples_unused_install/)