Skip to content
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: manager: use k_ssize_t instead of ssize_t #47

Open
wants to merge 9 commits into
base: zephyr
Choose a base branch
from

Conversation

cfriedt
Copy link
Member

@cfriedt cfriedt commented Jul 9, 2024

This change accompanies a similar Zephyr change where we create explicit k-types to avoid using POSIX types below the line where the POSIX API sits in our stack, thus avoiding a dependency cycle.

Additional types we should avoid using in the kernel, core os, and os services (as well as the <sys/types.h> header itself) are listed here

nashif and others added 9 commits June 4, 2024 16:15
Set min. cmake version required to what zephyr uses.

Signed-off-by: Anas Nashif <[email protected]>
`z_arch_esf_t` has been deprecated, use `struct arch_esf`
instead.

Signed-off-by: Yong Cong Sin <[email protected]>
Renames arch_sched_ipi() to arch_sched_broadcast_ipi() to
reflect recent changes from the IPI optimization work done
in Zephyr.

Signed-off-by: Peter Mitsis <[email protected]>
Re-group headers more logically in eq_iir.c and mixin_mixout.c.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
When dynamically mapping memory, we need to update access flags
according to the type of the mapping.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
When an LLEXT module contains multiple Module Adapter instances,
their manifests are stored in an array in the .module section. Those
array entries contain per-instance information like module entry
points, names, UUIDs, but ELF information is common for all
instances. Store it in the first array entry to avoid confusion.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
We map memory pages for loaded modules dynamically and we're able to
set memory flags for write access or for code execution. This commit
takes advantage of the recently added section grouping and maps the
three module parts separately: executable code, read-only data and
writable data, including zero-initialised .bss. This also cleans up
references, pointing into module storage in IMR instead of the mapped
addresses.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
Zephyr places .bss into a separate section element, still if it's
immediately adjacent to writable data we can merge and allocate them
together.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
This change accompanies a similar Zephyr change where we
create explicit k-types to avoid using POSIX types below the
line in where the POSIX API sits in our stack, thus avoiding
a dependency cycle.

Additional types we should avoid using (as well as the
<sys/types.h> header itself) are listed on the opengroup
website (search for "sys/types.h").

Signed-off-by: Christopher Friedt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants