1. 28 Aug, 2020 9 commits
  2. 25 Aug, 2020 3 commits
    • Varun Wadekar's avatar
      Tegra194: introduce support for `SPD=spmd` · 670306d3
      Varun Wadekar authored
      
      
      This patch introduces the following changes to enable
      compilation for `SPD=spmd` command line option.
      
      * compile plat_spmd_manifest.c
      * compile libfdt source files
      
      Verified with the `SPD=spmd` command line option for
      Tegra194 platforms.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I7f57aa4f1756b19f78d87415bb80794417174bc8
      670306d3
    • Varun Wadekar's avatar
      Tegra: introduce backend support to compile libfdt · eb7e5087
      Varun Wadekar authored
      
      
      This patch includes the following files from libc to
      compile libfdt:
      
      * memchr.c
      * memcmp.c
      * strrchr.c
      
      The BUILD_PLAT macro is evaluated earlier to allow libfdt
      installation to the right directory.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: Ie43fcf701dc051670e6372e21b3a84a6416c1735
      eb7e5087
    • Varun Wadekar's avatar
      Tegra: disable signed comparison · 8d51439e
      Varun Wadekar authored
      
      
      libfdt does not support the -Wsign-compare compiler option
      and the right patch will eventually be pushed upstream.
      
      This patch disables the -Wsign-compare compiler option
      to allow libfdt compilation for Tegra platforms until
      the actual issue is fixed.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: Ib7a93946cad1ea9ec1b46751edb79a74c08ed0ac
      8d51439e
  3. 24 Aug, 2020 7 commits
  4. 21 Aug, 2020 1 commit
  5. 19 Aug, 2020 1 commit
    • Alexei Fedorov's avatar
      libc/memset: Implement function in assembler · e7d344de
      Alexei Fedorov authored
      
      
      Trace analysis of FVP_Base_AEMv8A 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.84% of CPU execution time is spent in memset() function
      written in C using single byte write operations,
      see lib\libc\memset.c.
      This patch replaces C memset() implementation with assembler
      version giving the following results:
      - for Aarch32 in auth_signature() call memset() CPU time
      reduced to 24.84%.
      - Number of CPU instructions executed during TF-A
      boot stage before start of BL33 in RELEASE builds:
      ----------------------------------------------
      |  Arch   |     C      |  assembler |    %   |
      ----------------------------------------------
      | Aarch32 | 2073275460 | 1487400003 | -28.25 |
      | Aarch64 | 2056807158 | 1244898303 | -39.47 |
      ----------------------------------------------
      The patch also replaces memset.c with aarch64/memset.S
      in plat\nvidia\tegra\platform.mk.
      
      Change-Id: Ifbf085a2f577a25491e2d28446ee95a4ac891597
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      e7d344de
  6. 18 Aug, 2020 2 commits
  7. 09 Aug, 2020 2 commits
  8. 04 Aug, 2020 1 commit
    • Grant Likely's avatar
      Use abspath to dereference $BUILD_BASE · 29214e95
      Grant Likely authored
      
      
      If the user tries to change BUILD_BASE to put the build products outside
      the build tree the compile will fail due to hard coded assumptions that
      $BUILD_BASE is a relative path. Fix by using $(abspath $(BUILD_BASE))
      to rationalize to an absolute path every time and remove the relative
      path assumptions.
      
      This patch also adds documentation that BUILD_BASE can be specified by
      the user.
      Signed-off-by: default avatarGrant Likely <grant.likely@arm.com>
      Signed-off-by: default avatarManish Pandey <manish.pandey2@arm.com>
      Change-Id: Ib1af874de658484aaffc672f30029b852d2489c8
      29214e95
  9. 26 Jul, 2020 1 commit
  10. 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
  11. 21 Jun, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: sanity check NS address and size before use · 685e5609
      Varun Wadekar authored
      
      
      This patch updates the 'bl31_check_ns_address()' helper function to
      check that the memory address and size passed by the NS world are not
      zero.
      
      The helper fucntion also returns the error code as soon as it detects
      inconsistencies, to avoid multiple error paths from kicking in for the
      same input parameters.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      
      Change-Id: I46264f913954614bedcbde12e47ea0c70cd19be0
      685e5609
  12. 19 Jun, 2020 2 commits
    • Varun Wadekar's avatar
      Tegra: introduce support for GICv3 · 5e1b83aa
      Varun Wadekar authored
      
      
      This patch provides the platform level support to enable GICv3
      drivers on future Tegra platforms.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I966a4502b2a4a7bd1ce66da843997c9ed605c59f
      5e1b83aa
    • Varun Wadekar's avatar
      Tegra: memctrl_v2: fixup sequence to resize video memory · a7749acc
      Varun Wadekar authored
      
      
      The previous sequence used by the driver to program the new memory
      aperture settings and clear the non-overlapping memory was faulty.
      The sequence locked the non-overlapping regions twice, leading to
      faults when trying to clear it.
      
      This patch modifies the sequence to follow these steps:
      
      * move the previous memory region to a new firewall register
      * program the new memory aperture settings
      * clean the non-overlapping memory
      
      This patch also maps the non-overlapping memory as Device memory to
      follow guidance from the arch. team.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I7cf6e05b2dd372103dc7229e37b1b3fc269a57ae
      a7749acc
  13. 12 Jun, 2020 3 commits
  14. 20 May, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: enable SDEI handling · d886628d
      Varun Wadekar authored
      
      
      This patch enables SDEI support for all Tegra platforms, with
      the following configuration settings.
      
      * SGI 8 as the source IRQ
      * Special Private Event 0
      * Three private, dynamic events
      * Three shared, dynamic events
      * Twelve general purpose explicit events
      
      Verified using TFTF SDEI test suite.
      
      ******************************* Summary *******************************
       Test suite 'SDEI'                                               Passed
       =================================
       Tests Skipped : 0
       Tests Passed  : 5
       Tests Failed  : 0
       Tests Crashed : 0
       Total tests   : 5
       =================================
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I1922069931a7876a4594e53260ee09f2e4f09390
      d886628d
  15. 17 May, 2020 1 commit
  16. 12 May, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: introduce support for SMCCC_ARCH_SOC_ID · b5b2923d
      Varun Wadekar authored
      
      
      This patch returns the SOC version and revision values from
      the 'plat_get_soc_version' and 'plat_get_soc_revision' handlers.
      
      Verified using TFTF SMCCC_ARCH_SOC_ID test.
      
      <snip>
      > Executing 'SMCCC_ARCH_SOC_ID test'
        TEST COMPLETE                                                 Passed
      SOC Rev = 0x102
      SOC Ver = 0x36b0019
      <snip>
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: Ibd7101619143b74f6f6660732daeac1a8bca3e44
      b5b2923d
  17. 06 May, 2020 2 commits
  18. 01 Apr, 2020 1 commit