1. 13 Mar, 2019 1 commit
  2. 08 Mar, 2019 1 commit
    • Heiko Stuebner's avatar
      Fixup register handling in aarch32 reset_handler · c6c10b02
      Heiko Stuebner authored
      The BL handover interface stores the bootloader arguments in
      registers r9-r12, so when the reset_handler stores the lr pointer
      in r10 it clobers one of the arguments.
      
      Adapt to use r8 and adapt the comment about registers allowed
      to clober.
      
      I've checked aarch32 reset_handlers and none seem to use higher
      registers as far as I can tell.
      
      Fixes: a6f340fe
      
       ("Introduce the new BL handover interface")
      Cc: Soby Mathew <soby.mathew@arm.com>
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      c6c10b02
  3. 28 Feb, 2019 13 commits
  4. 27 Feb, 2019 4 commits
    • Varun Wadekar's avatar
      Tegra: Support for scatterfile for the BL31 image · c2ad38ce
      Varun Wadekar authored
      
      
      This patch provides support for using the scatterfile format as
      the linker script with the 'armlink' linker for Tegra platforms.
      
      In order to enable the scatterfile usage the following changes
      have been made:
      
      * provide mapping for ld.S symbols in bl_common.h
      * include bl_common.h from all the affected files
      * update the makefile rules to use the scatterfile and armlink
        to compile BL31
      * update pubsub.h to add sections to the scatterfile
      
      NOTE: THIS CHANGE HAS BEEN VERIFIED WITH TEGRA PLATFORMS ONLY.
      
      Change-Id: I7bb78b991c97d74a842e5635c74cb0b18e0fce67
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      c2ad38ce
    • Antonio Nino Diaz's avatar
      Add support for pointer authentication · b86048c4
      Antonio Nino Diaz authored
      
      
      The previous commit added the infrastructure to load and save
      ARMv8.3-PAuth registers during Non-secure <-> Secure world switches, but
      didn't actually enable pointer authentication in the firmware.
      
      This patch adds the functionality needed for platforms to provide
      authentication keys for the firmware, and a new option (ENABLE_PAUTH) to
      enable pointer authentication in the firmware itself. This option is
      disabled by default, and it requires CTX_INCLUDE_PAUTH_REGS to be
      enabled.
      
      Change-Id: I35127ec271e1198d43209044de39fa712ef202a5
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      b86048c4
    • Antonio Nino Diaz's avatar
      Add ARMv8.3-PAuth registers to CPU context · 5283962e
      Antonio Nino Diaz authored
      
      
      ARMv8.3-PAuth adds functionality that supports address authentication of
      the contents of a register before that register is used as the target of
      an indirect branch, or as a load.
      
      This feature is supported only in AArch64 state.
      
      This feature is mandatory in ARMv8.3 implementations.
      
      This feature adds several registers to EL1. A new option called
      CTX_INCLUDE_PAUTH_REGS has been added to select if the TF needs to save
      them during Non-secure <-> Secure world switches. This option must be
      enabled if the hardware has the registers or the values will be leaked
      during world switches.
      
      To prevent leaks, this patch also disables pointer authentication in the
      Secure world if CTX_INCLUDE_PAUTH_REGS is 0. Any attempt to use it will
      be trapped in EL3.
      
      Change-Id: I27beba9907b9a86c6df1d0c5bf6180c972830855
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      5283962e
    • Antonio Nino Diaz's avatar
      Cleanup context handling library · 4d1ccf0e
      Antonio Nino Diaz authored
      
      
      Minor style cleanup.
      
      Change-Id: Ief19dece41a989e2e8157859a265701549f6c585
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      4d1ccf0e
  5. 26 Feb, 2019 6 commits
  6. 19 Feb, 2019 5 commits
  7. 08 Feb, 2019 2 commits
  8. 07 Feb, 2019 5 commits
    • Varun Wadekar's avatar
      xlat_tables_v2: mark 'xlat_clean_dcache_range' unused · a1d00bb3
      Varun Wadekar authored
      
      
      The armclang compiler can warn if a variable is declared but
      is never referenced. The '__attribute__((unused))' attribute
      informs the compiler to expect an unused variable, and tells
      it not to issue a warning.
      
      This patch marks the 'xlat_clean_dcache_range' function as
      "unused" to fix this armclang compiler warning.
      
      Change-Id: I7623f61c2975a01db4d1b80554dd4f9a9e0f7eb6
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      a1d00bb3
    • Varun Wadekar's avatar
      locks: linker variables to calculate per-cpu bakery lock size · 596929b9
      Varun Wadekar authored
      
      
      This patch introduces explicit linker variables to mark the start and
      end of the per-cpu bakery lock section to help bakery_lock_normal.c
      calculate the size of the section. This patch removes the previously
      used '__PERCPU_BAKERY_LOCK_SIZE__' linker variable to make the code
      uniform across GNU linker and ARM linker.
      
      Change-Id: Ie0c51702cbc0fe8a2076005344a1fcebb48e7cca
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      596929b9
    • Varun Wadekar's avatar
      lib: aarch64: misc_helpers: include bl_common.h · 1242b9a9
      Varun Wadekar authored
      
      
      This patch includes bl_common.h to get access to the linker
      defined symbols.
      
      Change-Id: I9aa4a6e730273d75a53438854f69971e485bc904
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      1242b9a9
    • Varun Wadekar's avatar
      Remove unused function symbols · e095ba34
      Varun Wadekar authored
      
      
      This patch removes the unused functions that are marked as .global
      in code but not defined anywhere in the code.
      
      Change-Id: Ia5057a77c0b0b4a61043eab868734cd3437304cc
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      e095ba34
    • Varun Wadekar's avatar
      lib: aarch64: fix non-code symbol errors flagged by armlink · bf52f40e
      Varun Wadekar authored
      
      
      This patch modifies the code to turn __1printf and __2printf into proper
      functions to fix the following errors flagged by armlink.
      
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      Error: L6318W: backtrace.o(.text.backtrace) contains branch to a non-code symbol __2printf.
      
      Change-Id: I89126bc2b9db44ce8b8fc9fb1e3fc4c8c60c47a4
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      bf52f40e
  9. 01 Feb, 2019 1 commit
  10. 30 Jan, 2019 1 commit
    • Sathees Balya's avatar
      lib/xlat_tables: Add support for ARMv8.4-TTST · cedfa04b
      Sathees Balya authored
      
      
      ARMv8.4-TTST (Small Translation tables) relaxes the lower limit on the
      size of translation tables by increasing the maximum permitted value
      of the T1SZ and T0SZ fields in TCR_EL1, TCR_EL2, TCR_EL3, VTCR_EL2 and
      VSTCR_EL2.
      
      This feature is supported in AArch64 state only.
      
      This patch adds support for this feature to both versions of the
      translation tables library. It also removes the static build time
      checks for virtual address space size checks to runtime assertions.
      
      Change-Id: I4e8cebc197ec1c2092dc7d307486616786e6c093
      Signed-off-by: default avatarSathees Balya <sathees.balya@arm.com>
      cedfa04b
  11. 25 Jan, 2019 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: Sanitise includes · bd9344f6
      Antonio Nino Diaz authored
      
      
      Use full include paths like it is done for common includes.
      
      This cleanup was started in commit d40e0e08283a ("Sanitise includes
      across codebase"), but it only cleaned common files and drivers. This
      patch does the same to Arm platforms.
      
      Change-Id: If982e6450bbe84dceb56d464e282bcf5d6d9ab9b
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      bd9344f6