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

1st part of llext #8180 #8759

Merged
merged 8 commits into from
Jan 26, 2024
Merged

1st part of llext #8180 #8759

merged 8 commits into from
Jan 26, 2024

Commits on Jan 25, 2024

  1. llext: add a new module type

    We need to be able to distinguish LLEXT loadable dynamically linkable
    modules at run-time. Add a new type for them. Compatibility is
    preserved.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    25f62e4 View commit details
    Browse the repository at this point in the history
  2. lib-manager: fork a copy for LLEXT support

    This forks a slightly earlier version of library loading code for
    upcoming LLEXT support.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    ca0add2 View commit details
    Browse the repository at this point in the history
  3. llext-manager: handle unaligned .text and .data sections

    Currently only page size-aligned .text and .rodata sections are
    supported. Remove this limitation by prepadding the address to
    restore the alignment.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    5d62dec View commit details
    Browse the repository at this point in the history
  4. llext-manager: remove instance-count handling

    .bss splitting is specific to system-service module loading, LLEXT
    uses a traditional shared .bss ELF section.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    d19ae99 View commit details
    Browse the repository at this point in the history
  5. llext-manager: store segment sizes locally

    Currently segment sizes are calculated from page counts, stored in
    module manifests. This restricts us to only using page size-aligned
    segment sizes. In case of not page size-aligned ELF sections this can
    lead to wasted memory. To avoid this store segment sizes in full-size
    per-module variables to access them at any time.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    7c8c77a View commit details
    Browse the repository at this point in the history
  6. module: fix cache synchronisation

    Buffers, where modules are stored originally, don't need their caches
    to be synchronised - they're only used as a data storage and only
    accessed via cached aliases. But when final buffers are allocated,
    from which modules are actually run, those buffers do indeed need
    cache synchronisation.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    a41e607 View commit details
    Browse the repository at this point in the history
  7. rimage: mtl: extract platform part from mtl.toml.h

    A part of mtl.toml.h is also needed for loadable modules, built for
    MTL. Extract it into a separate file.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    4285f2e View commit details
    Browse the repository at this point in the history
  8. rimage: add a generic platform.toml

    Instead of including TOML files for each platform explicitly, add a
    generic platform.toml, that will contain all respective platform
    TOML files, and select the correct one, based on build configucation.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    lyakh committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    9978873 View commit details
    Browse the repository at this point in the history