Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Nov 25, 2024
  2. Sep 19, 2024
    • Harrison Mutai's avatar
      feat(tlc): add command gen-header · 9b05c373
      Harrison Mutai authored
      
      Introduce the gen-header command to the tool, enabling developers to
      create language bindings. Currently, it supports generating C headers
      from a transfer list.
      
      Change-Id: Ibec75639c38577802d5abe55c7bc718740aad2b8
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      9b05c373
    • Harrison Mutai's avatar
      feat(tlc): add support for tox · 38487c7f
      Harrison Mutai authored
      
      Add tox to automate testing across multiple environments, ensuring code
      robustness and compatibility with different Python versions. This helps
      ensure consistency in test environments so both development and CI
      systems run tests uniformly, and simplifies the execution of tasks like
      linting and other commands with a single command.
      
      Change-Id: I522adb486e89abecb9a130941ce4cef31332193a
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      38487c7f
  3. Aug 28, 2024
    • Chris Kay's avatar
      fix(cot-dt2c): fix various breakages · 73f7b7dd
      Chris Kay authored
      This change fixes several breakages that were introduced in some build
      configurations by the introduction of the cot-dt2c tool.
      
      Some Python environments cannot be managed directly via `pip`, and
      invocations of `make`, including `make distclean`, would cause errors
      along the lines of:
      
          error: externally-managed-environment
      
          × This environment is externally managed
          ╰─> To install Python packages system-wide, try apt install
              python3-xyz, where xyz is the package you are trying to
              install.
      
      This change has been resolved by ensuring that calls to the cot-dt2c
      tool from the build system happen exclusively through Poetry, which
      automatically sets up a virtual environment that *can* be modified.
      
      Some environments saw the following error when building platforms where
      the cot-dt2c tool was used:
      
          make: *** No rule to make target '<..>/debug/bl2_cot.c', needed
          by '<..>/debug/bl2/bl2_cot.o'.  Stop.
      
      Additionally, environments with a more ...
      73f7b7dd
  4. Aug 02, 2024
    • Harrison Mutai's avatar
      fix(docs): refactor poetry dependency group · 4a29299f
      Harrison Mutai authored
      
      Rename 'doc' group to 'docs' for consistency, this is to follow the
      widely accepted convention of using plural nouns groups that contain
      multiple items. This change signifies that the 'docs' group includes a
      collection of documentation-related dependencies.
      
      Also, ensure that the dependencies are actually conditionally installed
      by setting the group as optional. This was missing in the original
      change.
      
      Change-Id: I07caccfb1b57bc2dc1e7596899dfb926e8a5f71a
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      4a29299f
    • Charlie Bareham's avatar
      feat: add creating transfer lists from yaml files · 31120993
      Charlie Bareham authored
      
      This commit adds a command create-from-yaml to tlc, which
      creates a transfer list from a yaml file. It also changes
      the files structure of the fixtures in the unit tests so
      they are in a directory called trusted-firmware-a. This
      is necessary because blob file paths in the yaml file are
      relative to the root of TF-A.
      
      The blob files are not verified by TLC, so it can be used
      to load arbitrary binary information into the transfer
      list. The authenticity of the transfer list must be
      ensured by the loader.
      
      Change-Id: Idf704ce5d9b7e28b31f471ac337e4aef33d0ad8a
      Signed-off-by: default avatarCharlie Bareham <charlie.bareham@arm.com>
      31120993
  5. Jul 30, 2024
    • Harrison Mutai's avatar
      feat(tlc): add host tool for static TL generation · 6ac31f3e
      Harrison Mutai authored
      
      Transfer List Compiler is a command line tool that enables the static
      generation of TL's compliant with version 0.9 of the firmware handoff
      specification. The intent of this tool is to support information passing
      via the firmware handoff framework to bootloaders that run without
      preceding images (i.e. `RESET_TO_BL31`).
      
      It currently allows for TL's to be statically generated from blobs of
      data, and modified by removing/adding TE's. Future work will provide
      support for TL generation from configuration file.
      
      Change-Id: Iff670842e34c9ad18eac935248ee2aece43dc533
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      Co-authored-by: default avatarCharlie Bareham <charlie.bareham@arm.com>
      6ac31f3e
  6. Jul 22, 2024
  7. Jul 09, 2024
  8. Sep 06, 2023
  9. Sep 01, 2023
  10. Jun 12, 2023
  11. May 12, 2023
  12. Apr 24, 2023
    • Harrison Mutai's avatar
      fix: add missing click dependency · ff12683e
      Harrison Mutai authored
      
      Click is used in parts of the CI scripts (see run_config/fvp-linux.tc
      for instance), add it back as part of a new dependency group. Future
      dependencies that are required only in CI should be added to the
      ``ci`` dependency group.
      
      Change-Id: I5da7fea703495dd4006d86334626f126a850bb10
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      ff12683e
  13. Apr 19, 2023
    • Harrison Mutai's avatar
      feat: add support for poetry · 793f72c0
      Harrison Mutai authored
      
      New python dependencies are introduced by the memory mapping script.
      Rather than add another `requirements.txt` utilise poetry. This is a
      proper dependency management framework for Python. The two main upsides
      of using poetry instead of the traditional requirements.txt are
      maintainability and reproducibility.
      
      Poetry provides a proper lock file for pinning dependencies, similar to
      npm for JavaScript. This allows for separate environments (i.e. docs,
      tools) to be created efficiently, and in a reproducible manner, wherever
      the project is deployed.  Having dependencies pinned in this manner is a
      boon as a security focused project. An additional upside is that we will
      receive security updates for dependencies via GitHub's Dependabot.
      
      Change-Id: I5a3c2003769b878a464c8feac0f789e5ecf8d56c
      Signed-off-by: default avatarHarrison Mutai <harrison.mutai@arm.com>
      793f72c0