1. 13 Mar, 2019 2 commits
    • Bryan O'Donoghue's avatar
      bl1-smc-handler: Ensure the lower-order 16 bits of SPSR are programmed · 520f864e
      Bryan O'Donoghue authored
      A bug recently fixed in bl2/aarch32/bl2_el3_entrypoint.S relates to
      programming the lower-order 16 bits of the SPSR to populate into the CPSR
      on eret.
      
      The BL1 smc-handler code is identical and has the same shortfall in
      programming the SPSR from the platform defined struct
      entry_point_info->spsr.
      
      msr spsr, r1 will only update bits f->[31:24] and c->[7:0] respectively. In
      order to ensure the 16 lower-order processor mode bits x->[15:8] and
      c->[7:0] this patch changes msr spsr, r1 to msr spsr_xc, r1.
      
      This change ensures we capture the x field, which we are interested in and
      not the f field which we are not.
      
      Fixes: f3b4914b
      
       ('AArch32: Add generic changes in BL1')
      Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
      520f864e
    • Bryan O'Donoghue's avatar
      bl2-el3: Fix exit to bl32 by ensuring a more complete write to SPSR · eb20f04e
      Bryan O'Donoghue authored
      Prior to entry into BL32 we set the SPSR by way of msr spsr, r1.
      This unfortunately only writes the bits f->[31:24] and c->[7:0].
      
      This patch updates the bl2 exit path to write the x->[15:8] and c->[7:0]
      fields of the SPSR. For the purposes of initial setup of the SPSR the x and
      c fields should be sufficient and importantly will capture the necessary
      lower-order control bits that f:c alone do not.
      
      This is important to do to ensure the SPSR is set to the mode the platform
      intends prior to performing an eret.
      
      Fixes: b1d27b48
      
       ("bl2-el3: Add BL2_EL3 image")
      Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
      eb20f04e
  2. 11 Mar, 2019 1 commit
  3. 08 Mar, 2019 9 commits
  4. 07 Mar, 2019 14 commits
  5. 06 Mar, 2019 1 commit
  6. 05 Mar, 2019 4 commits
  7. 04 Mar, 2019 8 commits
  8. 01 Mar, 2019 1 commit
    • Varun Wadekar's avatar
      Tegra: dummy support for the io_storage backend · 8d56e24b
      Varun Wadekar authored
      
      This patch provides dummy macros and platform files to compile
      the io_storage driver backend. This patch is necessary to
      remove the "--unresolved=el3_panic" linker flag from Tegra's
      makefiles and allow us to revert this workaround, previously
      suggested by the ARM toolchain team.
      
      The "--unresolved=el3_panic" flag actually was a big hammer that
      allowed Tegra platforms to work with armlink previously but it
      masks legit errors with the code as well.
      
      Change-Id: I0421d35657823215229f84231896b84167f90548
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      8d56e24b