1. 19 Aug, 2020 1 commit
  2. 18 Aug, 2020 4 commits
  3. 17 Aug, 2020 1 commit
  4. 14 Aug, 2020 4 commits
    • Ruari Phipps's avatar
      SPM: Add owner field to cactus secure partitions · ad86d35a
      Ruari Phipps authored
      
      
      For supporting dualroot CoT for Secure Partitions a new optional field
      "owner" is introduced which will be used to sign the SP with
      corresponding signing domain. To demonstrate its usage, this patch adds
      owners to cactus Secure Partitions.
      Signed-off-by: default avatarRuari Phipps <ruari.phipps@arm.com>
      Change-Id: I7b760580355fc92edf5402cecc38c38125dc1cae
      ad86d35a
    • Manish Pandey's avatar
      plat/arm: enable support for Plat owned SPs · 990d972f
      Manish Pandey authored
      
      
      For Arm platforms SPs are loaded by parsing tb_fw_config.dts and
      adding them to SP structure sequentially, which in-turn is appended to
      loadable image list.
      
      With recently introduced dualroot CoT for SPs where they are owned
      either by SiP or by Platform. SiP owned SPs index starts at SP_PKG1_ID
      and Plat owned SPs index starts at SP_PKG5_ID. As the start index of SP
      depends on the owner, there should be a mechanism to parse owner of a SP
      and put it at the correct index in SP structure.
      
      This patch adds support for parsing a new optional field "owner" and
      based on it put SP details(UUID & Load-address) at the correct index in
      SP structure.
      
      Change-Id: Ibd255b60d5c45023cc7fdb10971bef6626cb560b
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      990d972f
    • Jimmy Brisson's avatar
      Use true instead of 1 in while · 92069086
      Jimmy Brisson authored
      
      
      This resolves MISRA defects such as:
      
          plat/common/plat_bl1_common.c:63:[MISRA C-2012 Rule 14.4 (required)]
          The condition expression "1" does not have an essentially boolean type.
      
      Change-Id: I679411980ad661191fbc834a44a5eca5494fd0e2
      Signed-off-by: default avatarJimmy Brisson <jimmy.brisson@arm.com>
      92069086
    • Jimmy Brisson's avatar
      Prevent colliding identifiers · d74c6b83
      Jimmy Brisson authored
      
      
      There was a collision between the name of the typedef in the CASSERT and
      something else, so we make the name of the typedef unique to the
      invocation of DEFFINE_SVC_UUID2 by appending the name that's passed into
      the macro. This eliminates the following MISRA violation:
      
          bl1/bl1_main.c:233:[MISRA C-2012 Rule 5.6 (required)] Identifier
          "invalid_svc_uuid" is already used to represent a typedef.
      
      This also resolves MISRA rule 5.9.
      
      These renamings are as follows:
        * tzram -> secram. This matches the function call name as it has
        sec_mem in it's  name
        * fw_config_base -> config_base. This file does not mess with
        hw_conig, so there's little chance of confusion
      
      Change-Id: I8734ba0956140c8e29b89d0596d10d61a6ef351e
      Signed-off-by: default avatarJimmy Brisson <jimmy.brisson@arm.com>
      d74c6b83
  5. 10 Aug, 2020 1 commit
    • Alexei Fedorov's avatar
      plat/arm: Reduce size of BL31 binary · fa1fdb22
      Alexei Fedorov authored
      
      
      BL31 binary size is aligned to 4KB because of the
      code in include\plat\arm\common\arm_reclaim_init.ld.S:
          __INIT_CODE_UNALIGNED__ = .;
          . = ALIGN(PAGE_SIZE);
          __INIT_CODE_END__ = .;
      with all the zero data after the last instruction of
      BL31 code to the end of the page.
      This causes increase in size of BL31 binary stored in FIP
      and its loading time by BL2.
      This patch reduces the size of BL31 image by moving
      page alignment from __INIT_CODE_END__ to __STACKS_END__
      which also increases the stack size for secondary CPUs.
      
      Change-Id: Ie2ec503fc774c22c12ec506d74fd3ef2b0b183a9
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      fa1fdb22
  6. 31 Jul, 2020 2 commits
  7. 30 Jul, 2020 4 commits
  8. 26 Jul, 2020 1 commit
  9. 24 Jul, 2020 2 commits
  10. 23 Jul, 2020 5 commits
  11. 22 Jul, 2020 1 commit
    • Alexei Fedorov's avatar
      plat/arm/board/fvp: Add support for Measured Boot · 4a135bc3
      Alexei Fedorov authored
      
      
      This patch adds support for Measured Boot functionality
      to FVP platform code. It also defines new properties
      in 'tpm_event_log' node to store Event Log address and
      it size
      'tpm_event_log_sm_addr'
      'tpm_event_log_addr'
      'tpm_event_log_size'
      in 'event_log.dtsi' included in 'fvp_tsp_fw_config.dts'
      and 'fvp_nt_fw_config.dts'. The node and its properties
      are described in binding document
      'docs\components\measured_boot\event_log.rst'.
      
      Change-Id: I087e1423afcb269d6cfe79c1af9c348931991292
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      4a135bc3
  12. 21 Jul, 2020 4 commits
  13. 20 Jul, 2020 1 commit
    • Alexei Fedorov's avatar
      TF-A GICv2 driver: Introduce makefile · 1322dc94
      Alexei Fedorov authored
      
      
      This patch moves all GICv2 driver files into new added
      'gicv2.mk' makefile for the benefit of the generic driver
      which can evolve in the future without affecting platforms.
      
      NOTE: Usage of 'drivers/arm/gic/common/gic_common.c' file
      is now deprecated and platforms with GICv2 driver need to
      be modified to include 'drivers/arm/gic/v2/gicv2.mk' in
      their makefiles.
      
      Change-Id: Ib10e71bdda0e5c7e80a049ddce2de1dd839602d1
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      1322dc94
  14. 10 Jul, 2020 2 commits
    • Manish V Badarkhe's avatar
      plat/arm: Fix build failure due to increase in BL2 size · fdf50a25
      Manish V Badarkhe authored
      
      
      BL2 size gets increased due to the libfdt library update and 
      that eventually cause no-optimization build failure for BL2 as below:
      aarch64-none-elf-ld.bfd: BL2 image has exceeded its limit.
      aarch64-none-elf-ld.bfd: region `RAM' overflowed by 4096 bytes
      Makefile:1070: recipe for target 'build/fvp/debug/bl2/bl2.elf' failed
      make: *** [build/fvp/debug/bl2/bl2.elf] Error 1
      
      Fixed build failure by increasing BL2 image size limit by 4Kb.
      Signed-off-by: default avatarManish V Badarkhe <Manish.Badarkhe@arm.com>
      Change-Id: I92a57eb4db601561a98e254b64994bb921a88db3
      fdf50a25
    • Manish V Badarkhe's avatar
      plat/arm, dts: Update platform device tree for CoT · 2a0ef943
      Manish V Badarkhe authored
      
      
      Included cot_descriptors.dtsi in platform device tree
      (fvp_tb_fw_config.dts).
      
      Also, updated the maximum size of tb_fw_config to 0x1800
      in order to accomodate the device tree for CoT descriptors.
      
      Follow up patch will parse the device tree for these CoT descriptors
      and fill the CoT descriptor structures at runtime instead of using
      static CoT descriptor structures in the code base.
      Signed-off-by: default avatarManish V Badarkhe <Manish.Badarkhe@arm.com>
      Change-Id: I90122bc713f6842b82fb019b04caf42629b4f45a
      2a0ef943
  15. 09 Jul, 2020 3 commits
  16. 06 Jul, 2020 1 commit
    • Abdellatif El Khlifi's avatar
      corstone700: splitting the platform support into FVP and FPGA · ef93cfa3
      Abdellatif El Khlifi authored
      
      
      This patch performs the following:
      
      - Creating two corstone700 platforms under corstone700 board:
      
        fvp and fpga
      
      - Since the FVP and FPGA have IP differences, this commit provides a specific DTS for each platform
      - The platform can be specified using the TARGET_PLATFORM Makefile variable
      (possible values are: fvp or fpga)
      - Allowing to use u-boot by:
        - Enabling NEED_BL33 option
        - Fixing non-secure image base: For no preloaded bl33 we want to
          have the NS base set on shared ram. Setup a memory map region
          for NS in shared map and set the bl33 address in the area.
      - Setting the SYS_COUNTER_FREQ_IN_TICKS based on the selected
      platform
      - Setting ARM_MAP_SHARED_RAM and ARM_MAP_NS_SHARED_RAM to use MT_MEMORY
      
      Change-Id: I4c8ac3387acb1693ab617bcccab00d80e340c163
      Signed-off-by: default avatarRui Miguel Silva <rui.silva@linaro.org>
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      ef93cfa3
  17. 29 Jun, 2020 1 commit
  18. 27 Jun, 2020 1 commit
  19. 26 Jun, 2020 1 commit
    • Andre Przywara's avatar
      arm_fpga: Fix MPIDR topology checks · 53baf7f0
      Andre Przywara authored
      
      
      The plat_core_pos_by_mpidr() implementation for the Arm FPGA port has
      some issues, which leads to problems when matching GICv3 redistributors
      with cores:
      - The power domain tree was not taking multithreading into account, so
        we ended up with the wrong mapping between MPIDRs and core IDs.
      - Before even considering an MPIDR, we try to make sure Aff2 is 0.
        Unfortunately this is the cluster ID when the MT bit is set.
      - We mask off the MT bit in MPIDR, before basing decisions on it.
      - When detecting the MT bit, we are properly calculating the thread ID,
        but don't account for the shift in the core and cluster ID checks.
      
      Those problems lead to early rejections of MPIDRs values, in particular
      when called from the GIC code. As a result, CPU_ON for secondary cores
      was failing for most of the cores.
      
      Fix this by properly handling the MT bit in plat_core_pos_by_mpidr(),
      also pulling in FPGA_MAX_PE_PER_CPU when populating the power domain
      tree.
      
      Change-Id: I71b2255fc0d27bfe5806511df479ab38e4e33fc4
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      53baf7f0