1. 08 Jun, 2018 5 commits
  2. 07 Jun, 2018 5 commits
    • 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
    • Dimitris Papastamos's avatar
      Merge pull request #1404 from soby-mathew/sm/bl_layout_change · 4b557325
      Dimitris Papastamos authored
      ARM platforms: Change memory layout and update documentation
      4b557325
    • Dimitris Papastamos's avatar
      Fast path SMCCC_ARCH_WORKAROUND_1 calls from AArch32 · 2b915366
      Dimitris Papastamos authored
      
      
      When SMCCC_ARCH_WORKAROUND_1 is invoked from a lower EL running in
      AArch32 state, ensure that the SMC call will take a shortcut in EL3.
      This minimizes the time it takes to apply the mitigation in EL3.
      
      When lower ELs run in AArch32, it is preferred that they execute the
      `BPIALL` instruction to invalidate the BTB.  However, on some cores
      the `BPIALL` instruction may be a no-op and thus would benefit from
      making the SMCCC_ARCH_WORKAROUND_1 call go through the fast path.
      
      Change-Id: Ia38abd92efe2c4b4a8efa7b70f260e43c5bda8a5
      Signed-off-by: default avatarDimitris Papastamos <dimitris.papastamos@arm.com>
      2b915366
    • Soby Mathew's avatar
      docs: Firmware design update for BL memory layout · 0f57fabf
      Soby Mathew authored
      
      
      This patch updates the firmware design guide for the BL memory
      layout change on ARM platforms.
      
      Change-Id: Icbfe7249484bb8b4ba3c94421172d42f27605c52
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      0f57fabf
    • Soby Mathew's avatar
      ARM platforms: Move BL31 below BL2 to enable BL2 overlay · c099cd39
      Soby Mathew authored
      
      
      The patch changes the layout of BL images in memory to enable
      more efficient use of available space. Previously BL31 was loaded
      with the expectation that BL2 memory would be reclaimed by BL32
      loaded in SRAM. But with increasing memory requirements in the
      firmware, we can no longer fit BL32 in SRAM anymore which means the
      BL2 memory is not reclaimed by any runtime image. Positioning BL2
      below BL1-RW and above BL31 means that the BL31 NOBITS can be
      overlaid on BL2 and BL1-RW.
      
      This patch also propogates the same memory layout to BL32 for AArch32
      mode. The reset addresses for the following configurations are also
      changed :
         * When RESET_TO_SP_MIN=1 for BL32 in AArch32 mode
         * When BL2_AT_EL3=1 for BL2
      
      The restriction on BL31 to be only in DRAM when SPM is enabled
      is now removed with this change. The update to the firmware design
      guide for the BL memory layout is done in the following patch.
      
      Change-Id: Icca438e257abe3e4f5a8215f945b9c3f9fbf29c9
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      c099cd39
  3. 29 May, 2018 1 commit
  4. 25 May, 2018 3 commits
  5. 24 May, 2018 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: SPM: Force BL31 to DRAM when SPM is used · e829a379
      Antonio Nino Diaz authored
      
      
      BL31 is running out of space, and the use-case of SPM doesn't require it
      to be in SRAM. To prevent BL31 from running out of space in the future,
      move BL31 to DRAM if SPM is enabled.
      
      Secure Partition Manager design document updated to reflect the changes.
      
      Increased the size of the stack of BL31 for builds with SPM.
      
      The translation tables used by SPM in Arm platforms have been moved back
      to the 'xlat_tables' region instead of 'arm_el3_tzc_dram'. Everything is
      in DRAM now, so it doesn't make sense to treat them in a different way.
      
      Change-Id: Ia6136c8e108b8da9edd90e9d72763dada5e5e5dc
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      e829a379
  6. 23 May, 2018 11 commits
  7. 22 May, 2018 3 commits
  8. 21 May, 2018 4 commits
    • Dimitris Papastamos's avatar
      Merge pull request #1359 from danielboulby-arm/db/match_flags_type · dcf0bdb6
      Dimitris Papastamos authored
      Ensure read and write of flags defined in the console struct are 32 bit
      dcf0bdb6
    • Soby Mathew's avatar
      FVP: Add dummy configs for BL31, BL32 and BL33 · 1d71ba14
      Soby Mathew authored
      
      
      This patch adds soc_fw_config, tos_fw_config and nt_fw_config to the FVP.
      The config files are placeholders and do not have any useful bindings
      defined. The tos_fw_config is packaged in FIP and loaded by BL2 only
      if SPD=tspd. The load address of these configs are specified in tb_fw_config
      via new bindings defined for these configs. Currently, in FVP, the
      soc_fw_config and tos_fw_config is loaded in the page between BL2_BASE
      and ARM_SHARED_RAM. This memory was typically used for BL32 when
      ARM_TSP_RAM_LOCATION=tsram but since we cannot fit BL32 in that
      space anymore, it should be safe to use this memory for these configs.
      There is also a runtime check in arm_bl2_dyn_cfg_init() which ensures
      that this overlap doesn't happen.
      
      The previous arm_dyn_get_hwconfig_info() is modified to accept configs
      other than hw_config and hence renamed to arm_dyn_get_config_load_info().
      The patch also corrects the definition of ARM_TB_FW_CONFIG_LIMIT to be
      BL2_BASE.
      
      Change-Id: I03a137d9fa1f92c862c254be808b8330cfd17a5a
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      1d71ba14
    • Soby Mathew's avatar
      Docs: Update user guide for Dynamic Config on FVP · 7e8686d9
      Soby Mathew authored
      
      
      From TF-A v1.5, FVP supports loading the kernel FDT through
      firmware as part of dynamic configuration feature. This means
      that the FDT no longer needs to be loaded via Model parameters.
      This patch updates the user guide to reflect the same.
      
      Change-Id: I79833beeaae44a1564f6512c3a473625e5959f65
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      7e8686d9
    • Soby Mathew's avatar
      Dynamic_config: remove the FVP dtb files · 32c79c42
      Soby Mathew authored
      
      
      Since FVP enables dynamic configuration by default, the DT blobs are
      compiled from source and included in FIP during build. Hence this
      patch removes the dtb files from the `fdts` folder.
      
      Change-Id: Ic155ecd257384a33eb2aa38c9b4430e47b09cd31
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      32c79c42
  9. 18 May, 2018 3 commits
    • Soby Mathew's avatar
      Dynamic cfg: Enable support on CoT for other configs · 17bc617e
      Soby Mathew authored
      
      
      This patch implements support for adding dynamic configurations for
      BL31 (soc_fw_config), BL32 (tos_fw_config) and BL33 (nt_fw_config). The
      necessary cert tool support and changes to default chain of trust are made
      for these configs.
      
      Change-Id: I25f266277b5b5501a196d2f2f79639d838794518
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      17bc617e
    • Soby Mathew's avatar
      FVP: Enable capability to disable auth via dynamic config · 6e79f9fd
      Soby Mathew authored
      
      
      This patch adds capability to FVP to disable authentication dynamically
      via the `disable_auth` property in TB_FW_CONFIG. Both BL1 and BL2 parses
      the TB_FW_CONFIG for the `disable_auth` property and invokes the
      `load_dyn_disable_auth()` API to disable authentication if the
      property is set to 1. The DYN_DISABLE_AUTH is enabled by default for
      FVP as it is a development platform. Note that the TB_FW_CONFIG has to
      be authenticated by BL1 irrespective of these settings.
      
      The arm_bl2_dyn_cfg_init() is now earlier in bl2_plat_preload_setup()
      rather than in bl2_platform_setup() as we need to get the value of
      `disable_auth` property prior to authentication of any image by BL2.
      
      Change-Id: I734acd59572849793e5020ec44c6ac51f654a4d1
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      6e79f9fd
    • Soby Mathew's avatar
      Allow disabling authentication dynamically · 209a60cc
      Soby Mathew authored
      
      
      This patch allows platforms to dynamically disable authentication of
      images during cold boot. This capability is controlled via the
      DYN_DISABLE_AUTH build flag and is only meant for development
      purposes.
      
      Change-Id: Ia3df8f898824319bb76d5cc855b5ad6c3d227260
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      209a60cc
  10. 17 May, 2018 4 commits