Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace20_lnl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ CONFIG_COMP_KPB=y
CONFIG_COMP_TESTER=m
CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y
CONFIG_COMP_UP_DOWN_MIXER=y
CONFIG_COMP_VOLUME=m
CONFIG_COMP_VOLUME_WINDOWS_FADE=y
CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_PCM_CONVERTER_FORMAT_S16_C16_AND_S16_C32=y
Expand Down
27 changes: 18 additions & 9 deletions src/library_manager/llext_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ static int llext_manager_load_data_from_storage(const struct llext_loader *ldr,
(uintptr_t)shdr->sh_addr >= (uintptr_t)vma + size)
continue;

tr_info(&lib_manager_tr, "reg %i: sect %u, %p <- %p, %u", region, i,
(void *)shdr->sh_addr,
(void *)((uintptr_t)region_addr + s_offset), shdr->sh_size);

ret = memcpy_s((__sparse_force void *)shdr->sh_addr, size - s_offset,
(const uint8_t *)region_addr + s_offset, shdr->sh_size);
if (ret < 0)
Expand Down Expand Up @@ -263,6 +267,8 @@ static int llext_manager_link(const char *name,
const elf_shdr_t *hdr;
int ret;

tr_info(&lib_manager_tr, "%s: reloc %i mapped %i", name, !*llext, mctx->mapped);

if (*llext && !mctx->mapped) {
/*
* All module instances have been terminated, so we freed SRAM,
Expand Down Expand Up @@ -297,27 +303,27 @@ static int llext_manager_link(const char *name,
mctx->segment[LIB_MANAGER_TEXT].addr = hdr->sh_addr;
mctx->segment[LIB_MANAGER_TEXT].size = hdr->sh_size;

tr_dbg(&lib_manager_tr, ".text: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_TEXT].addr,
mctx->segment[LIB_MANAGER_TEXT].size);
tr_info(&lib_manager_tr, ".text: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_TEXT].addr,
mctx->segment[LIB_MANAGER_TEXT].size);

/* All read-only data sections */
llext_get_region_info(ldr, *llext, LLEXT_MEM_RODATA, &hdr, NULL, NULL);
mctx->segment[LIB_MANAGER_RODATA].addr = hdr->sh_addr;
mctx->segment[LIB_MANAGER_RODATA].size = hdr->sh_size;

tr_dbg(&lib_manager_tr, ".rodata: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_RODATA].addr,
mctx->segment[LIB_MANAGER_RODATA].size);
tr_info(&lib_manager_tr, ".rodata: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_RODATA].addr,
mctx->segment[LIB_MANAGER_RODATA].size);

/* All writable data sections */
llext_get_region_info(ldr, *llext, LLEXT_MEM_DATA, &hdr, NULL, NULL);
mctx->segment[LIB_MANAGER_DATA].addr = hdr->sh_addr;
mctx->segment[LIB_MANAGER_DATA].size = hdr->sh_size;

tr_dbg(&lib_manager_tr, ".data: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_DATA].addr,
mctx->segment[LIB_MANAGER_DATA].size);
tr_info(&lib_manager_tr, ".data: start: %#lx size %#x",
mctx->segment[LIB_MANAGER_DATA].addr,
mctx->segment[LIB_MANAGER_DATA].size);

/* Writable uninitialized data section */
llext_get_region_info(ldr, *llext, LLEXT_MEM_BSS, &hdr, NULL, NULL);
Expand Down Expand Up @@ -652,6 +658,9 @@ int llext_manager_free_module(const uint32_t component_id)
*/
int ret = llext_unload(&mctx->llext);

tr_info(&lib_manager_tr,
"mod_id: %#x: llext_unload(): %d",
component_id, ret);
if (ret <= 0) {
tr_err(&lib_manager_tr,
"mod_id: %#x: invalid return code from llext_unload(): %d",
Expand Down
6 changes: 4 additions & 2 deletions west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ manifest:
remote: thesofproject

remotes:
- name: pillo79
url-base: https://github.com/pillo79
- name: thesofproject
url-base: https://github.com/thesofproject
- name: zephyrproject
Expand Down Expand Up @@ -43,8 +45,8 @@ manifest:

- name: zephyr
repo-path: zephyr
revision: 658f9357b87ab3e02351a57183743ec70f92cdd7
remote: zephyrproject
revision: pr-llext-align
remote: pillo79

# Import some projects listed in zephyr/west.yml@revision
#
Expand Down
Loading