1. 29 Oct, 2018 3 commits
    • Deepak Pandey's avatar
      plat/arm: Introduce the N1SDP. · 80d37c28
      Deepak Pandey authored
      
      
      This patch adds support for the N1SDP (NeoVerse N1 System Development
      Platform). It is an initial port and additional features are expected
      to be added later.
      
      The port includes only BL31 support as the System Control Processor
      (SCP) is expected to take the role of primary boatloader
      
      Change-Id: Ife17d8215a7bfcc1420204a72205e7ef920d0c10
      Signed-off-by: default avatarDeepak Pandey <Deepak.Pandey@arm.com>
      80d37c28
    • Soby Mathew's avatar
      FVP: Enable PIE for RESET_TO_BL31=1 · fc922ca8
      Soby Mathew authored
      
      
      This patch enabled PIE for FVP when RESET_TO_BL31=1. The references
      to BL31_BASE are replaced by BL31_START as being a symbol exported by
      the linker, will create a dynamic relocation entry in .rela.dyn and
      hence will be fixed up by dynamic linker at runtime. Also, we disable
      RECLAIM_INIT_CODE when PIE is enabled as the init section overlay
      creates some static relocations which cannot be handled by the
      dynamic linker currently.
      
      Change-Id: I86df1b0a8b2a8bbbe7c3f3c0b9a08c86c2963ec0
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      fc922ca8
    • Soby Mathew's avatar
      plat/arm: Use `mov_imm` macro to load immediate values · bd83b396
      Soby Mathew authored
      
      
      This patch makes use of mov_imm macro where possible to load
      immediate values within ARM platform layer.
      
      Change-Id: I02bc7fbc1fa334c9fccf76fbddf515952f9a1298
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      bd83b396
  2. 26 Oct, 2018 2 commits
    • Roberto Vargas's avatar
      Convert arm_setup_page_tables into a generic helper · 0916c38d
      Roberto Vargas authored
      
      
      This function is not related to Arm platforms and can be reused by other
      platforms if needed.
      
      Change-Id: Ia9c328ce57ce7e917b825a9e09a42b0abb1a53e8
      Co-authored-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      0916c38d
    • Antonio Nino Diaz's avatar
      xlat: Fix compatibility between v1 and v2 · 03987d01
      Antonio Nino Diaz authored
      
      
      There are several platforms using arm_setup_page_tables(), which is
      supposed to be Arm platform only. This creates several dependency
      problems between platforms.
      
      This patch adds the definition XLAT_TABLES_LIB_V2 to the xlat tables lib
      v2 makefile. This way it is possible to detect from C code which version
      is being used and include the correct header.
      
      The file arm_xlat_tables.h has been renamed to xlat_tables_compat.h and
      moved to a common folder. This way, when in doubt, this header can be
      used to guarantee compatibility, as it includes the correct header based
      on XLAT_TABLES_LIB_V2.
      
      This patch also removes the usage of ARM_XLAT_TABLES_V1 from QEMU (so
      that is now locked in xlat lib v2) and ZynqMP (where it was added as a
      workaround).
      
      Change-Id: Ie1e22a23b44c549603d1402a237a70d0120d3e04
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      03987d01
  3. 23 Oct, 2018 1 commit
  4. 18 Oct, 2018 4 commits
    • Chandni Cherukuri's avatar
      plat/arm/scmi: introduce plat_css_get_scmi_info API · b911dddc
      Chandni Cherukuri authored
      
      
      The default values of 'plat_css_scmi_plat_info' is not applicable for
      all the platforms. There should be a provision to let platform code to
      register a platform specific instance of scmi_channel_plat_info_t.
      
      Add a new API 'plat_css_get_scmi_info' which lets the platform to
      register a platform specific instance of scmi_channel_plat_info_t and
      remove the default values.
      
      In addition to this, the existing 'plat_css_scmi_plat_info' structure
      is removed from the common code and instantiated for the platforms that
      need it. This allows for a consistent provisioning of the SCMI channel
      information across all the existing and upcoming platforms.
      
      Change-Id: I4fb65d7f2f165b78697b4677f1e8d81edebeac06
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      b911dddc
    • Chandni Cherukuri's avatar
      plat/arm/sgi: add system-id node in HW_CONFIG dts · 8c7b55f9
      Chandni Cherukuri authored
      
      
      Dynamically populating the 'system-id' node in the HW_CONFIG dts makes
      it difficult to enforce memory overlap checks. So add the system-id node
      in the HW_CONFIG dts file as a place holder with 'platform-id' and
      'config-id' set to zero.
      
      The code at BL2 stage determines the values of 'platform-id' and
      'config-id' at runtime and updates the corresponding fields in the
      system-id node of HW_CONFIG dts.
      
      Change-Id: I2ca9980b994ac418da8afa0c72716ede10aff68a
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      8c7b55f9
    • Chandni Cherukuri's avatar
      plat/arm/sgi: move fdts files to sgi575 board directory · 63197d01
      Chandni Cherukuri authored
      
      
      To align the placement of ftds files with that of other Arm platforms,
      move the ftds files from plat/arm/css/sgi/ to plat/arm/board/sgi575.
      
      Change-Id: Id7c772eb5cf3d308d4e02a3c8099218e889a0e96
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      63197d01
    • Chandni Cherukuri's avatar
      plat/arm/sgi: reorganize platform macros · 91e6f26f
      Chandni Cherukuri authored
      
      
      In preparation of adding support for upcoming SGI platforms, macros
      common to all the SGI platforms are moved into sgi_base_platform_def.h
      file. Macros that are specific to sgi575 platform remain in the
      platform_def.h file. In addition to this, the platform_def.h file is
      moved to sgi575 board directory. Also the ENT_CPU_SOURCES has been
      renamed to SGI_CPU_SOURCES and moved from sgi-common.mk to board
      specific makefile platform.mk
      
      Change-Id: Iccdd9f070f4feea232b9fbf4fdcc0ef2e8eccbf2
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      91e6f26f
  5. 15 Oct, 2018 1 commit
  6. 11 Oct, 2018 3 commits
  7. 10 Oct, 2018 2 commits
  8. 09 Oct, 2018 1 commit
  9. 03 Oct, 2018 2 commits
    • Daniel Boulby's avatar
      FVP: Reclaim init code for the stack · cb4adb0d
      Daniel Boulby authored
      
      
      Map the initialization code for BL31 to overlap with the memory
      required for the secondary cores stack. Once BL31 has been
      initialized the memory can be remapped to RW data so that it can
      be used for secondary cores stacks. By moving code from .text to
      .text.init the size of the BL31 image is decreased by a page.
      
      Split arm_common.ld.S into two linker scripts, one for tzc_dram
      (arm_tzc_dram.ld.S) and one for reclaiming initialization code
      (arm_reclaim_init.ld.S) so that platforms can chose which memory
      regions they wish to include.
      
      Change-Id: I648e88f3eda1aa71765744cf34343ecda9320b32
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      cb4adb0d
    • Daniel Boulby's avatar
      plat/arm: Mark arm platform initialization functions · 4d010d0d
      Daniel Boulby authored
      
      
      Mark the initialization functions found in the BL31 boot sequence
      as __init so they can be reclaimed when no longer needed.
      
      Change-Id: I687a89346419c7710ef5097feaa325d83c527697
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      4d010d0d
  10. 02 Oct, 2018 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: Remove option ARM_BOARD_OPTIMISE_MEM · c0740e4f
      Antonio Nino Diaz authored
      
      
      This option makes it hard to optimize the memory definitions of all Arm
      platforms because any change in the common defines must work in all of
      them. The best thing to do is to remove it and move the definition to
      each platform's header.
      
      FVP, SGI and SGM were using the definitions in board_arm_def.h. The
      definitions have been copied to each platform's platform_def.h. Juno
      was already using the ones in platform_def.h, so there have been no
      changes.
      
      Change-Id: I9aecd11bbc72a3d0d7aad1ef9934d8df21dcfaf2
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      c0740e4f
  11. 28 Sep, 2018 1 commit
  12. 07 Sep, 2018 1 commit
    • Sathees Balya's avatar
      juno: Revert FWU update detect mechanism · 4da6f6cd
      Sathees Balya authored
      The patch 7b56928a
      
       unified the FWU mechanism on FVP and Juno
      platforms due to issues with MCC firmware not preserving the
      NVFLAGS. With MCCv150 firmware, this issue is resolved. Also
      writing to the NOR flash while executing from the same flash
      in Bypass mode had some stability issues. Hence, since the
      MCC firmware issue is resolved, this patch reverts to the
      NVFLAGS mechanism to detect FWU. Also, with the introduction
      of SDS (Shared Data Structure) by the SCP, the reset syndrome
      needs to queried from the appropriate SDS field.
      
      Change-Id: If9c08f1afaaa4fcf197f3186887068103855f554
      Signed-off-by: default avatarSathees Balya <sathees.balya@arm.com>
      Signed-off-by: default avatarSoby Mathew <Soby.Mathew@arm.com>
      4da6f6cd
  13. 04 Sep, 2018 1 commit
    • John Tsichritzis's avatar
      Support shared Mbed TLS heap for FVP · ba597da7
      John Tsichritzis authored
      
      
      This patch introduces the shared Mbed TLS heap optimisation for Arm
      platforms. The objective is the Mbed TLS heap to be shared between BL1
      and BL2 so as to not allocate the heap memory twice. To achieve that,
      the patch introduces all the necessary helpers for implementing this
      optimisation. It also applies it for FVP.
      
      Change-Id: I6d85eaa1361517b7490956b2ac50f5fa0d0bb008
      Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
      ba597da7
  14. 30 Aug, 2018 2 commits
  15. 21 Aug, 2018 1 commit
  16. 06 Aug, 2018 1 commit
  17. 03 Aug, 2018 1 commit
  18. 26 Jul, 2018 1 commit
    • Sughosh Ganu's avatar
      ARM platforms: Allow board specific definition of SP stack base · 2e4a509d
      Sughosh Ganu authored
      
      
      The SGI platforms need to allocate memory for CPER buffers. These
      platform buffers would be placed between the shared reserved memory
      and the per cpu stack memory, thus the need to redefine stack base
      pointer for these platforms. This patch allows each board in ARM
      platform to define the PLAT_SP_IMAGE_STACK_BASE.
      
      Change-Id: Ib5465448b860ab7ab0f645f7cb278a67acce7be9
      Signed-off-by: default avatarSughosh Ganu <sughosh.ganu@arm.com>
      2e4a509d
  19. 24 Jul, 2018 1 commit
  20. 20 Jul, 2018 1 commit
  21. 11 Jul, 2018 2 commits
  22. 25 Jun, 2018 1 commit
  23. 21 Jun, 2018 1 commit
  24. 18 Jun, 2018 1 commit
  25. 08 Jun, 2018 3 commits
  26. 07 Jun, 2018 1 commit
    • Soby Mathew's avatar
      Juno: Bump up the BL1-RW size · 2013d8f0
      Soby Mathew authored
      
      
      This patch bumps up the BL1-RW size for Juno and at the same time reduces
      the BL2 size when TBB is enabled, TF_MBEDTLS_KEY_ALG=rsa+ecdsa. The BL2
      size for this config is reduced as it was observed that the peak memory
      usage is only reached when SPD=opteed and the dual rsa+ecdsa support is
      not needed for this case.
      
      Change-Id: Ia9009771b5cfd805e9cc75410aabb7db99fc2fbc
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      2013d8f0