1. 06 Aug, 2021 1 commit
  2. 28 Jul, 2021 1 commit
    • Stas Sergeev's avatar
      fix(plat/fvp): provide boot files via semihosting · 749d0fa8
      Stas Sergeev authored
      These files are needed during boot, but they were missing
      for semihosting.
      With this patch, the list of files is complete enough to
      boot on ATF platform via semihosting.
      
      Change-Id: I2f0ca25983a6e18096f040780776f19f8040ea79
      Signed-off-by: stsp@users.sourceforge.net
      749d0fa8
  3. 23 Jul, 2021 1 commit
  4. 22 Jul, 2021 3 commits
    • Abdellatif El Khlifi's avatar
      feat: disabling non volatile counters in diphda · 7f70cd29
      Abdellatif El Khlifi authored
      
      
      At this stage of development Non Volatile counters are not implemented
      in the Diphda platform.
      
      This commit disables their use during the Trusted Board Boot by
      overriding the NV counters get/set functions.
      
      Change-Id: I8dcbebe0281cc4d0837c283ff637e20b850988ef
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      7f70cd29
    • Abdellatif El Khlifi's avatar
      feat: adding the diphda platform · bf3ce993
      Abdellatif El Khlifi authored
      
      
      This commit enables trusted-firmware-a with Trusted Board Boot support
      for the Diphda 64-bit platform.
      
      Diphda uses a FIP image located in the flash. The FIP contains the
      following components:
      
      - BL2
      - BL31
      - BL32
      - BL32 SPMC manifest
      - BL33
      - The TBB certificates
      
      The board boot relies on CoT (chain of trust). The trusted-firmware-a
      BL2 is extracted from the FIP and verified by the Secure Enclave
      processor. BL2 verification relies on the signature area at the
      beginning of the BL2 image. This area is needed by the SecureEnclave
      bootloader.
      
      Then, the application processor is released from reset and starts by
      executing BL2.
      
      BL2 performs the actions described in the trusted-firmware-a TBB design
      document.
      Signed-off-by: default avatarRui Miguel Silva <rui.silva@arm.com>
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      Change-Id: Iddb1cb9c2a0324a9635e23821c210ac81dfc305d
      bf3ce993
    • Maksims Svecovs's avatar
      feat(ff-a): change manifest messaging method · bb320dbc
      Maksims Svecovs authored
      
      
      Align documentation with changes of messaging method for partition
      manifest:
            - Bit[0]: support for receiving direct message requests
            - Bit[1]: support for sending direct messages
            - Bit[2]: support for indirect messaging
            - Bit[3]: support for managed exit
      Change the optee_sp_manifest to align with the new messaging method
      description.
      Signed-off-by: default avatarMaksims Svecovs <maksims.svecovs@arm.com>
      Change-Id: I333e82c546c03698c95f0c77293018f8dca5ba9c
      bb320dbc
  5. 06 Jul, 2021 3 commits
  6. 02 Jul, 2021 1 commit
  7. 29 Jun, 2021 2 commits
    • Sandrine Bailleux's avatar
      refactor(plat/fvp): tidy up list of images to measure · 64dd1dee
      Sandrine Bailleux authored
      
      
      We don't ever expect to load a binary with an STM32 header on the Arm
      FVP platform so remove this type of image from the list of
      measurements.
      
      Also remove the GPT image type from the list, as it does not get
      measured. GPT is a container, just like FIP is. We don't measure the FIP
      but rather the images inside it. It would seem logical to treat GPT the
      same way.
      
      Besides, only images that get loaded through load_auth_image() get
      measured right now. GPT processing happens before that and is handled in
      a different way (see partition_init()).
      
      Change-Id: Iac4de75380ed625b228e69ee4564cf9e67e19336
      Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      64dd1dee
    • Manish Pandey's avatar
      feat(plat/arm): enable PIE when RESET_TO_SP_MIN=1 · 7285fd5f
      Manish Pandey authored
      For Arm platforms PIE is enabled when RESET_TO_BL31=1 in aarch64 mode on
      the similar lines enable PIE when RESET_TO_SP_MIN=1 in aarch32 mode.
      The underlying changes for enabling PIE in aarch32 is submitted in
      commit 4324a14b
      
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      Change-Id: Ib8bb860198b3f97cdc91005503a3184d63e15469
      7285fd5f
  8. 28 Jun, 2021 2 commits
  9. 03 Jun, 2021 1 commit
  10. 02 Jun, 2021 1 commit
  11. 28 May, 2021 1 commit
  12. 27 May, 2021 1 commit
  13. 17 May, 2021 1 commit
  14. 10 May, 2021 1 commit
  15. 03 May, 2021 1 commit
    • Pranav Madhu's avatar
      feat(plat/sgi): enable AMU for RD-V1-MC · e8b119e0
      Pranav Madhu authored
      
      
      AMU counters are used for monitoring the CPU performance. RD-V1-MC
      platform has architected AMU available for each core. Enable the use of
      AMU by non-secure OS for supporting the use of counters for processor
      performance control (ACPI CPPC).
      
      Change-Id: I33be594cee669e7f4031e5e5a371eec7c7451030
      Signed-off-by: default avatarPranav Madhu <pranav.madhu@arm.com>
      e8b119e0
  16. 29 Apr, 2021 1 commit
  17. 28 Apr, 2021 2 commits
    • David Horstmann's avatar
      refactor(plat/arm): store UUID as a string, rather than ints · 7d111d99
      David Horstmann authored
      
      
      NOTE: Breaking change to the way UUIDs are stored in the DT
      
      Currently, UUIDs are stored in the device tree as
      sequences of 4 integers. There is a mismatch in endianness
      between the way UUIDs are represented in memory and the way
      they are parsed from the device tree. As a result, we must either
      store the UUIDs in little-endian format in the DT (which means
      that they do not match up with their string representations)
      or perform endianness conversion after parsing them.
      
      Currently, TF-A chooses the second option, with unwieldy
      endianness-conversion taking place after reading a UUID.
      
      To fix this problem, and to make it convenient to copy and
      paste UUIDs from other tools, change to store UUIDs in string
      format, using a new wrapper function to parse them from the
      device tree.
      
      Change-Id: I38bd63c907be14e412f03ef0aab9dcabfba0eaa0
      Signed-off-by: default avatarDavid Horstmann <david.horstmann@arm.com>
      7d111d99
    • Manish V Badarkhe's avatar
      refactor(plat/arm): replace FIP base and size macro with a generic name · 49e9ac28
      Manish V Badarkhe authored
      
      
      Replaced PLAT_ARM_FIP_BASE and PLAT_ARM_FIP_MAX_SIZE macro with a
      generic name PLAT_ARM_FLASH_IMAGE_BASE and PLAT_ARM_FLASH_IMAGE_MAX_SIZE
      so that these macros can be reused in the subsequent GPT based support
      changes.
      
      Change-Id: I88fdbd53e1966578af4f1e8e9d5fef42c27b1173
      Signed-off-by: default avatarManish V Badarkhe <Manish.Badarkhe@arm.com>
      49e9ac28
  18. 27 Apr, 2021 2 commits
    • Aditya Angadi's avatar
      feat(board/rdn2): add support for variant 1 of rd-n2 platform · fe5d5bbf
      Aditya Angadi authored
      
      
      Add board support for RD-N2 Cfg1 variant of RD-N2 platform. It is a
      variant of RD-N2 platform with a reduced interconnect mesh size (3x3)
      and core count (8-cores). Its platform variant id is 1.
      
      Change-Id: I34ad35c5a5c1e9b69a658fb92ed00e5bc5fe72f3
      Signed-off-by: default avatarAditya Angadi <aditya.angadi@arm.com>
      fe5d5bbf
    • Aditya Angadi's avatar
      feat(plat/sgi): introduce platform variant build option · cfe1506e
      Aditya Angadi authored
      
      
      A Neoverse reference design platform can have two or more variants that
      differ in core count, cluster count or other peripherals. To allow reuse
      of platform code across all the variants of a platform, introduce build
      option CSS_SGI_PLATFORM_VARIANT for Arm Neoverse reference design
      platforms. The range of allowed values for the build option is platform
      specific. The recommended range is an interval of non negative integers.
      
      An example usage of the build option is
      make PLAT=rdn2 CSS_SGI_PLATFORM_VARIANT=1
      
      Change-Id: Iaae79c0b4d0dc700521bf6e9b4979339eafe0359
      Signed-off-by: default avatarAditya Angadi <aditya.angadi@arm.com>
      cfe1506e
  19. 26 Apr, 2021 1 commit
  20. 23 Apr, 2021 1 commit
    • Manish Pandey's avatar
      build: deprecate Arm sgm775 FVP platform · 37ee58d1
      Manish Pandey authored
      
      
      sgm775 is an old platform and is no longer maintained by Arm and its
      fast model FVP_CSS_SGM-775 is no longer available for download.
      This platform is now superseded by Total Compute(tc) platforms.
      
      This platform is now deprecated but the source will be kept for cooling
      off period of 2 release cycle before removing it completely.
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      Change-Id: I8fe1fc3da0c508dba62ed4fc60cbc1642e0f7f2a
      37ee58d1
  21. 20 Apr, 2021 2 commits
    • johpow01's avatar
      Add "_arm" suffix to Makalu ELP CPU lib · 97bc7f0d
      johpow01 authored
      
      
      ELP processors can sometimes have different MIDR values or features so
      we are adding the "_arm" suffix to differentiate the reference
      implementation from other future versions.
      Signed-off-by: default avatarJohn Powell <john.powell@arm.com>
      Change-Id: Ieea444288587c7c18a397d279ee4b22b7ad79e20
      97bc7f0d
    • Mikael Olsson's avatar
      plat/arm/juno: Add support to use hw_config in BL31 · 5d5fb10f
      Mikael Olsson authored
      
      
      To make it possible to use the hw_config device tree for dynamic
      configuration in BL31 on the Arm Juno platform. A placeholder hw_config
      has been added that is included in the FIP and a Juno specific BL31
      setup has been added to populate fconf with the hw_config.
      
      Juno's BL2 setup has been updated to align it with the new behavior
      implemented in the Arm FVP platform, where fw_config is passed in arg1
      to BL31 instead of soc_fw_config. The BL31 setup is expected to use the
      fw_config passed in arg1 to find the hw_config.
      Signed-off-by: default avatarMikael Olsson <mikael.olsson@arm.com>
      Change-Id: Ib3570faa6714f92ab8451e8f1e59779dcf19c0b6
      5d5fb10f
  22. 16 Apr, 2021 1 commit
    • Sandrine Bailleux's avatar
      Arm: Fix error message printing in board makefile · 5eea0193
      Sandrine Bailleux authored
      
      
      Remove an incorrect tabulation in front of an $(error) function call
      outside of a recipe, which caused the following text to be displayed:
      
        plat/arm/board/common/board_common.mk:36: *** recipe commences before first target.  Stop.
      
      instead of:
      
        plat/arm/board/common/board_common.mk:36: *** "Unsupported ARM_ROTPK_LOCATION value".  Stop.
      
      Change-Id: I8592948e7de8ab0c4abbc56eb65a53eb1875a83c
      Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      5eea0193
  23. 14 Apr, 2021 1 commit
  24. 09 Apr, 2021 1 commit
    • Manish Pandey's avatar
      plat/arm: don't provide NT_FW_CONFIG when booting hafnium · 2b6fc535
      Manish Pandey authored
      
      
      NT_FW_CONFIG file is meant to be passed from BL31 to be consumed by
      BL33, fvp platforms use this to pass measured boot configuration and
      the x0 register is used to pass the base address of it.
      
      In case of hafnium used as hypervisor in normal world, hypervisor
      manifest is expected to be passed from BL31 and its base address is
      passed in x0 register.
      
      As only one of NT_FW_CONFIG or hypervisor manifest base address can be
      passed in x0 register and also measured boot is not required for SPM so
      disable passing NT_FW_CONFIG.
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      Change-Id: Ifad9d3658f55ba7d70f468a88997d5272339e53e
      2b6fc535
  25. 31 Mar, 2021 1 commit
  26. 29 Mar, 2021 3 commits
    • Aditya Angadi's avatar
      board/rdv1mc: initialize tzc400 controllers · f97b5795
      Aditya Angadi authored
      
      
      A TZC400 controller is placed inline on DRAM channels and regulates
      the secure and non-secure accesses to both secure and non-secure
      regions of the DRAM memory. Configure each of the TZC controllers
      across the Chips.
      
      For use by secure software, configure the first chip's trustzone
      controller to protect the upper 16MB of the memory of the first DRAM
      block for secure accesses only. The other regions are configured for
      non-secure read write access. For all the remote chips, all the DRAM
      regions are allowed for non-secure read and write access.
      Signed-off-by: default avatarAditya Angadi <aditya.angadi@arm.com>
      Change-Id: I809f27eccadfc23ea0ef64e2fd87f95eb8f195c1
      f97b5795
    • Thomas Abraham's avatar
      plat/sgi: define default list of memory regions for dmc620 tzc · b4d548f1
      Thomas Abraham authored
      
      
      Define a default DMC-620 TZC memory region configuration and use it to
      specify the TZC memory regions on sgi575, rdn1edge and rde1edge
      platforms. The default DMC-620 TZC memory regions are defined
      considering the support for secure paritition as well.
      Signed-off-by: default avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: Iedee3e57d0d3de5b65321444da51ec990d3702db
      b4d548f1
    • Thomas Abraham's avatar
      plat/sgi: refactor SDEI specific macros · a8834474
      Thomas Abraham authored
      
      
      The macros specific to SDEI defined in the sgi_base_platform_def.h are
      not applicable for all the platforms supported by plat/sgi. So refactor
      the SDEI specific macros into a new header file and include this file on
      only on platforms it is applicable on.
      Signed-off-by: default avatarThomas Abraham <thomas.abraham@arm.com>
      Change-Id: I0cb7125334f02a21cae1837cdfd765c16ab50bf5
      a8834474
  27. 24 Mar, 2021 1 commit
  28. 15 Mar, 2021 1 commit
    • Olivier Deprez's avatar
      SPM: declare third cactus instance as UP SP · e96fc8e7
      Olivier Deprez authored
      
      
      The FF-A v1.0 spec allows two configurations for the number of EC/vCPU
      instantiated in a Secure Partition:
      -A MultiProcessor (MP) SP instantiates as many ECs as the number of PEs.
      An EC is pinned to a corresponding physical CPU.
      -An UniProcessor (UP) SP instantiates a single EC. The EC is migrated to
      the physical CPU from which the FF-A call is originating.
      This change permits exercising the latter case within the TF-A-tests
      framework.
      Signed-off-by: default avatarOlivier Deprez <olivier.deprez@arm.com>
      Change-Id: I7fae0e7b873f349b34e57de5cea496210123aea0
      e96fc8e7
  29. 10 Mar, 2021 1 commit