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

iMXRT support #28

Merged
merged 14 commits into from Oct 23, 2023
Merged

iMXRT support #28

merged 14 commits into from Oct 23, 2023

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    e86f1ea View commit details
    Browse the repository at this point in the history
  2. make: Allow specifying an out-of-tree config file

    This means that defconfig does not have to be copied to .config.
    Also it properly expands to a full config, so the Makefile has
    access to all config values, including default values
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    04bb30f View commit details
    Browse the repository at this point in the history
  3. make: Add support for building for flash with XIP

    Allows setting a custom main linker file, and also supply a different
    default for when building into a flash (execute-in-place XIP) and ram
    combination.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    80df918 View commit details
    Browse the repository at this point in the history
  4. crypto: Don't crash if hash_ops/dsa_ops have not been fully populated

    Previously it would result in NULL ptr dereferences if less than
    CONFIG_CRYPTO_MAX_HASH_OPS or CONFIG_CRYPTO_MAX_DSA_OPS operations
    had been registered
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    56c25b0 View commit details
    Browse the repository at this point in the history
  5. trivial: Whitespace cleanup

    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    5a34197 View commit details
    Browse the repository at this point in the history
  6. armv7m: Introduce arch armv7m (Cortex-M4/M7)

    Adds basic support for ARMv7-M CPUs (most commonly Cortex-M4 and M7 range),
    without support for MMU.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    6d7d7ff View commit details
    Browse the repository at this point in the history
  7. plat: Introduce basic iMXRT support

    This adds (limited) iMXRT support, with certain things missing or not
    implemented yet. Notable parts not yet supported:
    
     - Key revokation, including querying for revoked keys.
     - SLC fusing
     - UART/console is hard-coded
     - No boot reason detection
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    a7909af View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    71c28b7 View commit details
    Browse the repository at this point in the history
  9. boot: Split boot_image_auth_header into two parts to allow better reuse

    On bare metal systems we might not want to verify the partitions inside
    a bpak header, so split auth_header into two functions to allow reuse
    of the hashing and signature verification part.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    08a7c34 View commit details
    Browse the repository at this point in the history
  10. boot: Add helper boot_image_copy_and_hash

    This version of the helper will copy partitions from one source range
    to a destination range, such as from (memory mapped) flash to RAM and
    do payload hashing of it for boot authentication.
    
    In the future this could be accelerated via the crypto api for platforms
    that has accelerators that do copy+hash in one go, such as iMXRT
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    98550b4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    69c5c36 View commit details
    Browse the repository at this point in the history
  12. boot: Add a BOOT_SOURCE_CUSTOM for platforms/boards that need custom …

    …processing
    
    This lets board logic totally control the reading/copying and authentication
    of the next image to boot. Potentially dangerous but required to handle
    cases where for example board-specific logic decides between multiple
    in-memory boot images.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    9e19e8a View commit details
    Browse the repository at this point in the history
  13. mbedtls: Ensure mbedtls hash/crypto provider compiles for all configs

    When _not_ selecting all of the CONFIG_MBEDTLS_MD_ values, ensure
    to only build and register the parts configured and built with.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    b72293c View commit details
    Browse the repository at this point in the history
  14. mbedtls: Optimize the config

    Select asm optimizations as well as ECP optimizations. Slightly increases
    binary size but payoff is big.
    thebolt committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    1785dd2 View commit details
    Browse the repository at this point in the history