-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLEXT: build libraries #9702
base: main
Are you sure you want to change the base?
LLEXT: build libraries #9702
Commits on Nov 27, 2024
-
llext: simplify offset calculation when copying sections
Use section offset from the section header in llext_manager_load_data_from_storage() to simplify calculations and eliminate a function parameter. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc6b184 - Browse repository at this point
Copy the full SHA cc6b184View commit details -
file_offset in struct lib_manager_segment_desc is unused, remove it. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8501150 - Browse repository at this point
Copy the full SHA 8501150View commit details -
We don't need to store .bss address and size until the module is freed since .bss is allocated together with .data and we only need its size when initialising it, not when freeing module memory. Remove it to save memory. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf6adac - Browse repository at this point
Copy the full SHA cf6adacView commit details -
Split man_get_module_manifest() into two functions in preparation for multi-part relocatable module library support. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08d125a - Browse repository at this point
Copy the full SHA 08d125aView commit details -
rimage: split man_module_create_reloc()
The second preparatory step for multi-part relocatable module libraries. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1eb4ad6 - Browse repository at this point
Copy the full SHA 1eb4ad6View commit details -
rimage: (cosmetic) remove redundant NULL-checks
free(NULL) is allowed, remove redundant checks. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 45f2fe6 - Browse repository at this point
Copy the full SHA 45f2fe6View commit details -
rimage: add support for multi-part llext libraries
Rimage generates an image from multiple input modules. However, in case of building libraries from multiple relocatable ELF files it doesn't currently construct manifest correctly. It mixes up manifest provided in TOML with manifest structures in ".module" sections of modules. Clean this up to only use manifests from ELF and append configuration from TOML. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2a22eaf - Browse repository at this point
Copy the full SHA 2a22eafView commit details -
llext: (cosmetic) simplify 3 functions
Remove unused arguments from llext_manager_load_module(), llext_manager_unload_module() and llext_manager_link(). Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5198be5 - Browse repository at this point
Copy the full SHA 5198be5View commit details -
llext: add per-module contexts
Run-time loadable SOF libraries can contain multiple modules. To prepare to support them add a module context type. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 109fcd9 - Browse repository at this point
Copy the full SHA 109fcd9View commit details -
llext: (cosmetic) remove function names from logging
Zephyr logging prints function names, no need to include them explicitly. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0bd6002 - Browse repository at this point
Copy the full SHA 0bd6002View commit details -
llext: fix potential NULL dereference
NULL checking should be done before dereferencing, not after. Also rearrange varoable definition in llext_manager_allocate_module() to make it more logical. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b04d1fe - Browse repository at this point
Copy the full SHA b04d1feView commit details -
llext_manager_allocate_module() should return 0 when failing, not an error code. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b344522 - Browse repository at this point
Copy the full SHA b344522View commit details -
llext: support libraries with multiple modules
Loadable libraries can contain multiple modules, where each module can contain multiple manifest entries, e.g. when providing multiple Module Adapter drivers. This commit adds support for such libraries, built by specifying all the modules on rimage command line. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e7e74e - Browse repository at this point
Copy the full SHA 4e7e74eView commit details -
mux: remove DEMUX entry from LLEXT build
mux.toml doesn't have a demux entry in it, therefore we cannot have one in .module either, remove it until fixed. Also fix a copy-paste error in the same code block. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 967a24c - Browse repository at this point
Copy the full SHA 967a24cView commit details
Commits on Dec 2, 2024
-
llext: generate fully modular configuration
Add a FORCE_ALL_MODULES macro to mtl.toml.h. When this header is then preprocessed with that macro defined, all module TOML files will be included. This then can be used to generate module libraries. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 608668d - Browse repository at this point
Copy the full SHA 608668dView commit details -
llext: add a parameter to sof_llext_build()
Add a parameter to sof_llext_build() to support adding modules to libraries. Specifying a LIB parameter in that function with a single value adds that module to a library with that name. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e2e8368 - Browse repository at this point
Copy the full SHA e2e8368View commit details -
llext: (WiP) illustrate adding modules to libraries
Add src, volume and mixin-mixout to LLEXT libraries. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f6264e8 - Browse repository at this point
Copy the full SHA f6264e8View commit details -
llext: add support for library building
Build libraries of modules, as specified in their cmake files. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 24a0dd9 - Browse repository at this point
Copy the full SHA 24a0dd9View commit details