1. 28 Sep, 2020 1 commit
  2. 25 Sep, 2020 1 commit
    • Javier Almansa Sobrino's avatar
      arm_fpga: Add support for unknown MPIDs · 1994e562
      Javier Almansa Sobrino authored
      
      
      This patch allows the system to fallback to a default CPU library
      in case the MPID does not match with any of the supported ones.
      
      This feature can be enabled by setting SUPPORT_UNKNOWN_MPID build
      option to 1 (enabled by default only on arm_fpga platform).
      
      This feature can be very dangerous on a production image and
      therefore it MUST be disabled for Release images.
      Signed-off-by: default avatarJavier Almansa Sobrino <javier.almansasobrino@arm.com>
      Change-Id: I0df7ef2b012d7d60a4fd5de44dea1fbbb46881ba
      1994e562
  3. 24 Sep, 2020 2 commits
  4. 15 Sep, 2020 3 commits
  5. 14 Sep, 2020 1 commit
  6. 10 Sep, 2020 4 commits
  7. 09 Sep, 2020 1 commit
  8. 07 Sep, 2020 1 commit
    • Manish V Badarkhe's avatar
      plat: Fix build issue for qemu and rpi3 platforms · dad2934c
      Manish V Badarkhe authored
      
      
      Coverity build periodically throws below errors(non-consistently)
      for 'QEMU' and 'RPI3' platforms.
      
      /bin/sh: 1: cannot create build/qemu/debug/rot_key.pem: Directory
      nonexistent
      plat/qemu/qemu/platform.mk:86: recipe for target 'build/qemu/debug/
      rot_key.pem' failed
      make: *** [build/qemu/debug/rot_key.pem] Error 2
      
      /bin/sh: 1: cannot create /work/workspace/workspace/tf-coverity/build
      /rpi3/debug/rot_key.pem: Directory nonexistent
      plat/rpi/rpi3/platform.mk:214: recipe for target '/work/workspace/
      workspace/tf-coverity/build/rpi3/debug/rot_key.pem' failed
      make: *** [/work/workspace/workspace/tf-coverity/build/rpi3/debug/
      rot_key.pem] Error 2
      
      Issue seems to be occurred when 'ROT key' is generated before creating
      the platform build folder(for e.g.build/qemu/debug).
      
      Changes are made to fix this issue by adding orderly dependancy of
      the platform folder for the 'ROT key' creation which ensures that
      platform folder is created before generating 'ROT key'.
      Signed-off-by: default avatarManish V Badarkhe <Manish.Badarkhe@arm.com>
      Change-Id: I20c82172dde84e4c7f2373c0bd095d353f845d38
      dad2934c
  9. 02 Sep, 2020 3 commits
    • Alexei Fedorov's avatar
      plat/arm: Introduce and use libc_asm.mk makefile · e3f2b1a9
      Alexei Fedorov authored
      Trace analysis of FVP_Base_AEMv8A 0.0/6063 model
      running in Aarch32 mode with the build options
      listed below:
      TRUSTED_BOARD_BOOT=1 GENERATE_COT=1
      ARM_ROTPK_LOCATION=devel_ecdsa KEY_ALG=ecdsa
      ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem
      shows that when auth_signature() gets called
      71.99% of CPU execution time is spent in memset() function
      written in C using single byte write operations,
      see lib\libc\memset.c.
      This patch introduces new libc_asm.mk makefile which
      replaces C memset() implementation with assembler
      version giving the following results:
      - for Aarch32 in auth_signature() call memset() CPU time
      reduced to 20.56%.
      The number of CPU instructions (Inst) executed during
      TF-A boot stage before start of BL33 in RELEASE builds
      for different versions is presented in the tables below,
      where:
      - C TF-A: existing TF-A C code;
      - C musl: "lightweight code" C "implementation of the
        standard library for Linux-based systems"
      https://git.musl-libc.org/cgit/musl/tree/src/string/memset.c
      - Asm Opt: assemler version from "Arm Optimized Routines"
        project
      https://github.com/ARM-software/optimized-routines/blob/
      master/string/arm/memset.S
      - Asm Linux: assembler version from Linux kernel
      https://github.com/torvalds/linux/blob/master/arch/arm/lib/memset.S
      
      
      - Asm TF-A: assembler version from this patch
      
      Aarch32:
      +-----------+------+------+--------------+----------+
      | Variant   | Set  | Size |    Inst 	 |  Ratio   |
      +-----------+------+------+--------------+----------+
      | C TF-A    | T32  | 16   | 2122110003   | 1.000000 |
      | C musl    | T32  | 156  | 1643917668   | 0.774662 |
      | Asm Opt   | T32  | 84   | 1604810003   | 0.756233 |
      | Asm Linux | A32  | 168  | 1566255018   | 0.738065 |
      | Asm TF-A  | A32  | 160  | 1525865101   | 0.719032 |
      +-----------+------+------+--------------+----------+
      
      AArch64:
      +-----------+------+------------+----------+
      | Variant   | Size |    Inst    |  Ratio   |
      +-----------+------+------------+----------+
      | C TF-A    | 28   | 2732497518 | 1.000000 |
      | C musl    | 212  | 1802999999 | 0.659836 |
      | Asm TF-A  | 140  | 1680260003 | 0.614917 |
      +-----------+------+------------+----------+
      
      This patch modifies 'plat\arm\common\arm_common.mk'
      by overriding libc.mk makefile with libc_asm.mk and
      does not effect other platforms.
      
      Change-Id: Ie89dd0b74ba1079420733a0d76b7366ad0157c2e
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      e3f2b1a9
    • Javier Almansa Sobrino's avatar
      arm_fpga: Add support to populate the CPU nodes in the DTB · 20ff991e
      Javier Almansa Sobrino authored
      
      
      At the moment BL31 dynamically discovers the CPU topology of an FPGA
      system at runtime, but does not export it to the non-secure world.
      Any BL33 user would typically looks at the devicetree to learn about
      existing CPUs.
      
      This patch exports a minimum /cpus node in a devicetree to satisfy
      the binding. This means that no cpumaps or caches are described.
      This could be added later if needed.
      
      An existing /cpus node in the DT will make the code bail out with a
      message.
      Signed-off-by: default avatarJavier Almansa Sobrino <javier.almansasobrino@arm.com>
      Change-Id: I589a2b3412411a3660134bdcef3a65e8200e1d7e
      20ff991e
    • Anders Dellien's avatar
      plat/arm: Add dependencies to configuration files · 3ab336a1
      Anders Dellien authored
      
      
      This patch adds dependencies to the generated configuration
      files that are included in the FIP. This fixes occasional
      build errors that occur when the FIP happens to be built first.
      
      Change-Id: I5a2bf724ba3aee13954403b141f2f19b4fd51d1b
      Signed-off-by: default avatarAnders Dellien <anders.dellien@arm.com>
      3ab336a1
  10. 01 Sep, 2020 1 commit
  11. 31 Aug, 2020 7 commits
  12. 28 Aug, 2020 15 commits