Lines Matching +full:in +full:-
5 * SPDX-License-Identifier: Apache-2.0
27 * Loadable Extensions (LLEXTs) in Zephyr.
37 * @brief List of memory regions stored or referenced in the LLEXT subsystem
47 LLEXT_MEM_RODATA, /**< Read-only data */
104 * Table of all global symbols in the extension; used internally as
113 * This can be used in the main Zephyr binary to find symbols in the
118 /** Extension use counter, prevents unloading while in use */
133 return ext->sect_hdrs; in llext_section_headers()
138 return ext->sect_cnt; in llext_section_count()
153 * those pre-defined addresses, so the LLEXT core doesn't have to do any
158 * Extensions can implement custom ELF sections to be loaded in specific
171 * @param[in] name String name of the llext
180 * callback function returns a non-0 value.
182 * @param[in] fn callback function
183 * @param[in] arg a private argument to be provided to the callback function
194 * @param[in] loader An extension loader that provides input data and context
195 * @param[in] name A string identifier for the extension
197 * @param[in] ldr_parm Optional advanced load parameters (may be `NULL`)
200 * @retval -ENOMEM Not enough memory
201 * @retval -ENOEXEC Invalid ELF stream
202 * @retval -ENOTSUP Unsupported ELF features
210 * @param[in] ext Extension to unload
220 * Must be called before accessing any symbol in the extension. Will execute
221 * the extension's own setup functions in the caller context.
224 * @param[in] ext Extension to initialize.
226 * @retval -EFAULT A relocation issue was detected
233 * Will execute the extension's own cleanup functions in the caller context.
238 * @param[in] ext Extension to de-initialize.
240 * @retval -EFAULT A relocation issue was detected
248 * the extension's cleanup functions in the current thread context.
254 * @param[in] ext Extension to execute. Passed as `p1` in @ref k_thread_create.
255 * @param[in] entry_fn Main entry point of the thread after performing
256 * extension setup. Passed as `p2` in @ref k_thread_create.
257 * @param[in] user_data Argument passed to @a entry_fn. Passed as `p3` in
270 * @param[in] ext Extension to initialize.
271 * @param[in] is_init `true` to get functions to be called at setup time,
273 * @param[inout] buf Buffer to store the function pointers in. Can be `NULL`
275 * @param[in] size Allocated size of the buffer in bytes.
276 * @returns the size used by the array in bytes, or a negative error code.
277 * @retval -EFAULT A relocation issue was detected
278 * @retval -ENOMEM Array does not fit in the allocated buffer
285 * Searches for a symbol address, either in the list of symbols exported by
286 * the main Zephyr binary or in an extension's symbol table.
288 * @param[in] sym_table Symbol table to lookup symbol in, or `NULL` to search
289 * in the main Zephyr symbol table
290 * @param[in] sym_name Symbol name to find
292 * @returns the address of symbol in memory, or `NULL` if not found
302 * @param[in] ext Extension to call function in
303 * @param[in] sym_name Function name (exported symbol) in the extension
306 * @retval -ENOENT Symbol name not found
313 * Allows an extension to be executed in user mode threads when memory
317 * @param[in] ext Extension to add to a domain
318 * @param[in] domain Memory domain to add partitions to
321 * @retval -ENOSYS Option @kconfig{CONFIG_USERSPACE} is not enabled or supported
334 * @param[in] rel Relocation data provided by ELF
335 * @param[in] loc Address of opcode to rewrite
336 * @param[in] sym_base_addr Address of symbol referenced by relocation
337 * @param[in] sym_name Name of symbol referenced by relocation
338 * @param[in] load_bias `.text` load address
340 * @retval -ENOTSUP Unsupported relocation
341 * @retval -ENOEXEC Invalid relocation
347 * @brief Locates an ELF section in the file.
349 * Searches for a section by name in the ELF file and returns its offset.
351 * @param[in] loader Extension loader data and context
352 * @param[in] search_name Section name to search for
360 * Searches for a section by name in the ELF file and retrieves its full header.
362 * @param[in] loader Extension loader data and context
363 * @param[in] ext Extension to be searched
364 * @param[in] search_name Section name to search for
367 * @retval -ENOTSUP "peek" method not supported
368 * @retval -ENOENT section not found
376 * @param[in] loader Extension loader data and context
377 * @param[in] ext Extension to call function in
378 * @param[in] rel Relocation data provided by elf
379 * @param[in] sym Corresponding symbol table entry
380 * @param[in] rel_addr Address where relocation should be performed
381 * @param[in] ldr_parm Loader parameters
390 * @param[in] loader Extension loader data and context
391 * @param[in] ext Extension to call function in
392 * @param[in] rel Relocation data provided by elf
393 * @param[in] sym Corresponding symbol table entry
394 * @param[in] rel_addr Address where relocation should be performed
395 * @param[in] link_addr target address for table-based relocations