Skip to content
Snippets Groups Projects
  1. Nov 03, 2023
  2. Oct 18, 2023
    • Sean Anderson's avatar
      Move i.MX8 container image loading support to common/spl · 12b33390
      Sean Anderson authored and Tom Rini's avatar Tom Rini committed
      
      To facilitate testing loading i.MX8 container images, move the
      parse-container code to common/spl.
      
      Signed-off-by: default avatarSean Anderson <seanga2@gmail.com>
      12b33390
    • Sean Anderson's avatar
      arm: imx: Check header before calling spl_load_imx_container · ab12179b
      Sean Anderson authored and Tom Rini's avatar Tom Rini committed
      
      Make sure we have an IMX header before calling spl_load_imx_container,
      since if we don't it will fail with -ENOENT. This allows us to fall back to
      legacy/raw images if they are also enabled.
      
      This is a functional change, one which likely should have been in place
      from the start, but a functional change nonetheless. Previously, all
      non-IMX8 images (except FITs without FIT_FULL) would be optimized out if
      the only image load method enabled supported IMX8 images. With this change,
      support for other image types now has an effect.
      
      There are seven boards with SPL_LOAD_IMX_CONTAINER enabled: three with
      SPL_BOOTROM_SUPPORT:
      
          imx93_11x11_evk_ld imx93_11x11_evk imx8ulp_evk
      
      and four with SPL_MMC:
      
          deneb imx8qxp_mek giedi imx8qm_mek
      
      All of these boards also have SPL_RAW_IMAGE_SUPPORT and
      SPL_LEGACY_IMAGE_FORMAT enabled as well. However, none have FIT support
      enabled. Of the six load methods affected by this patch, only SPL_MMC and
      SPL_BOOTROM_SUPPORT are enabled with SPL_LOAD_IMX_CONTAINER.
      spl_romapi_load_image_seekable does not support legacy or raw images, so
      there is no growth. However, mmc_load_image_raw_sector does support loading
      legacy/raw images. Since these images could not have been booted before, I
      have disabled support for legacy/raw images on these four boards. This
      reduces bloat from around 800 bytes to around 200.
      
      There are no in-tree boards with SPL_LOAD_IMX_CONTAINER and AHAB_BOOT both
      enabled, so we do not need to worry about potentially falling back to
      legacy images in a secure boot scenario.
      
      Future work could include merging imx_container.h with imx8image.h, since
      they appear to define mostly the same structures.
      
      Signed-off-by: default avatarSean Anderson <seanga2@gmail.com>
      ab12179b
  3. Oct 15, 2023
  4. Oct 11, 2023
  5. Oct 04, 2023
  6. Sep 30, 2023
  7. Sep 22, 2023
  8. Sep 05, 2023
  9. Aug 28, 2023
  10. Aug 17, 2023
  11. Aug 16, 2023
  12. Aug 14, 2023
  13. Aug 08, 2023
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce armffa command · f16a48fe
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Provide armffa command showcasing the use of the U-Boot FF-A support
      
      armffa is a command showcasing how to invoke FF-A operations.
      This provides a guidance to the client developers on how to
      call the FF-A bus interfaces. The command also allows to gather secure
      partitions information and ping these  partitions. The command is also
      helpful in testing the communication with secure partitions.
      
      For more details please refer to the command documentation [1].
      
      A Sandbox test is provided for the armffa command.
      
      [1]: doc/usage/cmd/armffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      f16a48fe
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox test cases for UCLASS_FFA · a2f5c91c
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Add functional test cases for the FF-A support
      
      These tests rely on the FF-A sandbox emulator and FF-A
      sandbox driver which help in inspecting the FF-A communication.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      a2f5c91c
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox FF-A support · a09852d8
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
      
      Features of the sandbox FF-A support:
      
      - Introduce an FF-A emulator
      - Introduce an FF-A device driver for FF-A comms with emulated Secure World
      - Provides test methods allowing to read the status of the inspected ABIs
      
      The sandbox FF-A emulator supports only 64-bit direct messaging.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      a09852d8
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce Arm FF-A support · 39d383bd
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
      
      The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
      describes interfaces (ABIs) that standardize communication
      between the Secure World and Normal World leveraging TrustZone
      technology.
      
      This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
      on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
      querying the FF-A framework from the secure world.
      
      The driver uses SMC32 calling convention which means using the first
      32-bit data of the Xn registers.
      
      All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
      which has 64-bit version supported.
      
      Both 32-bit and 64-bit direct messaging are supported which allows both
      32-bit and 64-bit clients to use the FF-A bus.
      
      FF-A is a discoverable bus and similar to architecture features.
      FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
      by the PSCI driver.
      
      Clients are able to probe then use the FF-A bus by calling the DM class
      searching APIs (e.g: uclass_first_device).
      
      The Secure World is considered as one entity to communicate with
      using the FF-A bus. FF-A communication is handled by one device and
      one instance (the bus). This FF-A driver takes care of all the
      interactions between Normal world and Secure World.
      
      The driver exports its operations to be used by upper layers.
      
      Exported operations:
      
      - ffa_partition_info_get
      - ffa_sync_send_receive
      - ffa_rxtx_unmap
      
      Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
      Arm specific methods are implemented in the Arm driver (arm-ffa.c).
      
      For more details please refer to the driver documentation [2].
      
      [1]: https://developer.arm.com/documentation/den0077/latest/
      
      
      [2]: doc/arch/arm64.ffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      39d383bd
    • Abdellatif El Khlifi's avatar
      lib: uuid: introduce testcase for uuid_str_to_le_bin · b83dc8df
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      provide a test case
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      b83dc8df
  14. Aug 07, 2023
  15. Jul 25, 2023
  16. Jul 24, 2023
    • Tom Rini's avatar
      Revert "Merge branch '2023-07-24-introduce-FF-A-suppport'" · 94e7cb18
      Tom Rini authored
      
      This reverts commit d927d1a8, reversing
      changes made to c07ad952.
      
      These changes do not pass CI currently.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      94e7cb18
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce armffa command Sandbox test · 20e2b994
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Add Sandbox test for the armffa command
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      20e2b994
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox test cases for UCLASS_FFA · dd40919b
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Add functional test cases for the FF-A support
      
      These tests rely on the FF-A sandbox emulator and FF-A
      sandbox driver which help in inspecting the FF-A communication.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      dd40919b
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce sandbox FF-A support · 32dd07ff
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
      
      Features of the sandbox FF-A support:
      
      - Introduce an FF-A emulator
      - Introduce an FF-A device driver for FF-A comms with emulated Secure World
      - Provides test methods allowing to read the status of the inspected ABIs
      
      The sandbox FF-A emulator supports only 64-bit direct messaging.
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      32dd07ff
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce armffa command · e785db92
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      Provide armffa command showcasing the use of the U-Boot FF-A support
      
      armffa is a command showcasing how to invoke FF-A operations.
      This provides a guidance to the client developers on how to
      call the FF-A bus interfaces. The command also allows to gather secure
      partitions information and ping these  partitions. The command is also
      helpful in testing the communication with secure partitions.
      
      For more details please refer to the command documentation [1].
      
      [1]: doc/usage/cmd/armffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      e785db92
    • Abdellatif El Khlifi's avatar
      arm_ffa: introduce Arm FF-A support · c09bfc66
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
      
      The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
      describes interfaces (ABIs) that standardize communication
      between the Secure World and Normal World leveraging TrustZone
      technology.
      
      This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
      on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
      querying the FF-A framework from the secure world.
      
      The driver uses SMC32 calling convention which means using the first
      32-bit data of the Xn registers.
      
      All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
      which has 64-bit version supported.
      
      Both 32-bit and 64-bit direct messaging are supported which allows both
      32-bit and 64-bit clients to use the FF-A bus.
      
      FF-A is a discoverable bus and similar to architecture features.
      FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed
      by the PSCI driver.
      
      Clients are able to probe then use the FF-A bus by calling the DM class
      searching APIs (e.g: uclass_first_device).
      
      The Secure World is considered as one entity to communicate with
      using the FF-A bus. FF-A communication is handled by one device and
      one instance (the bus). This FF-A driver takes care of all the
      interactions between Normal world and Secure World.
      
      The driver exports its operations to be used by upper layers.
      
      Exported operations:
      
      - ffa_partition_info_get
      - ffa_sync_send_receive
      - ffa_rxtx_unmap
      
      Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c).
      Arm specific methods are implemented in the Arm driver (arm-ffa.c).
      
      For more details please refer to the driver documentation [2].
      
      [1]: https://developer.arm.com/documentation/den0077/latest/
      
      
      [2]: doc/arch/arm64.ffa.rst
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
      Cc: Jens Wiklander <jens.wiklander@linaro.org>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      c09bfc66
    • Abdellatif El Khlifi's avatar
      lib: uuid: introduce testcase for uuid_str_to_le_bin · 9052d178
      Abdellatif El Khlifi authored and Tom Rini's avatar Tom Rini committed
      
      provide a test case
      
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Cc: Tom Rini <trini@konsulko.com>
      9052d178
  17. Jul 12, 2023
  18. Jul 07, 2023
  19. Jun 12, 2023
  20. May 30, 2023
  21. May 05, 2023
Loading