1. 26 Jun, 2017 2 commits
    • Dimitris Papastamos's avatar
      juno/aarch32: Restore `SCP_BOOT_CFG_ADDR` to the cold boot value · cc47e1ad
      Dimitris Papastamos authored
      
      
      Before BL2 loads the SCP ram firmware, `SCP_BOOT_CFG_ADDR` specifies
      the primary core.  After the SCP ram firmware has started executing,
      `SCP_BOOT_CFG_ADDR` is modified.  This is not normally an issue but
      the Juno AArch32 boot flow is a special case.  BL1 does a warm reset
      into AArch32 and the core jumps to the `sp_min` entrypoint.  This is
      effectively a `RESET_TO_SP_MIN` configuration.  `sp_min` has to be
      able to determine the primary core and hence we need to restore
      `SCP_BOOT_CFG_ADDR` to the cold boot value before `sp_min` runs.
      
      This magically worked when booting on A53 because the core index was
      zero and it just so happened to match with the new value in
      `SCP_BOOT_CFG_ADDR`.
      
      Change-Id: I105425c680cf6238948625c1d1017b01d3517c01
      Signed-off-by: default avatarDimitris Papastamos <dimitris.papastamos@arm.com>
      cc47e1ad
    • davidcunado-arm's avatar
      Merge pull request #994 from soby-mathew/sm/fwu_fix · ccf39111
      davidcunado-arm authored
      Fix FWU and cache helper optimization
      ccf39111
  2. 23 Jun, 2017 3 commits
  3. 22 Jun, 2017 6 commits
  4. 21 Jun, 2017 3 commits
    • David Cunado's avatar
      Fully initialise essential control registers · 18f2efd6
      David Cunado authored
      
      
      This patch updates the el3_arch_init_common macro so that it fully
      initialises essential control registers rather then relying on hardware
      to set the reset values.
      
      The context management functions are also updated to fully initialise
      the appropriate control registers when initialising the non-secure and
      secure context structures and when preparing to leave EL3 for a lower
      EL.
      
      This gives better alignement with the ARM ARM which states that software
      must initialise RES0 and RES1 fields with 0 / 1.
      
      This patch also corrects the following typos:
      
      "NASCR definitions" -> "NSACR definitions"
      
      Change-Id: Ia8940b8351dc27bc09e2138b011e249655041cfc
      Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
      18f2efd6
    • Soby Mathew's avatar
      Exit early if size zero for cache helpers · 3ec5204c
      Soby Mathew authored
      
      
      This patch enables cache helper functions `flush_dcache_range`,
      `clean_dcache_range` and `invalidate_dcache_range` to exit early
      if the size argument specified is zero
      
      Change-Id: I0b63e8f4bd3d47ec08bf2a0b0b9a7ff8a269a9b0
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      3ec5204c
    • Soby Mathew's avatar
      Fix issues in FWU code · ee05ae16
      Soby Mathew authored
      
      
      This patch fixes the following issues in Firmware Update (FWU) code:
      
      1. The FWU layer maintains a list of loaded image ids and
         while checking for image overlaps, INVALID_IMAGE_IDs were not
         skipped. The patch now adds code to skip INVALID_IMAGE_IDs.
      
      2. While resetting the state corresponding to an image, the code
         now resets the memory used by the image only if the image were
         copied previously via IMAGE_COPY smc. This prevents the invalid
         zeroing of image memory which are not copied but are directly
         authenticated via IMAGE_AUTH smc.
      
      Change-Id: Idf18e69bcba7259411c88807bd0347d59d9afb8f
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      ee05ae16
  5. 20 Jun, 2017 15 commits
  6. 19 Jun, 2017 1 commit
    • Leo Yan's avatar
      plat: Hikey960: fix the CPU hotplug · 0aedca71
      Leo Yan authored
      
      
      In CPU off callback function, the old code uses the function
      hisi_test_pwrdn_allcores() to check if all CPUs in cluster have been
      powered off and if it's valid then power off the whole cluster. But the
      function hisi_test_pwrdn_allcores() only maintains the different power
      states only for CPU suspend/resume flow, so it cannot return correct
      states for CPU on/off flow.
      
      This patch is to change use hisi_test_cpu_down() to check if all CPUs
      have been powered off, so that can power off the whole cluster properly
      when all CPUs in cluster have been hotplugged off.
      Signed-off-by: default avatarTao Wang <kevin.wangtao@hisilicon.com>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      0aedca71
  7. 16 Jun, 2017 3 commits
  8. 15 Jun, 2017 7 commits