1. 07 Feb, 2018 3 commits
  2. 05 Feb, 2018 1 commit
    • Etienne Carriere's avatar
      qemu: support ARMv7/Cortex-A15 · 765ed9fc
      Etienne Carriere authored
      
      
      Define Qemu AArch32 implementation for some platform functions
      (core position, secondary boot cores, crash console). These are
      derived from the AArch64 implementation.
      
      BL31 on Qemu is needed only for ARMv8 and later. On ARMv7, BL32 is
      the first executable image after BL2.
      
      Support SP_MIN and OP-TEE as BL32: create a sp_min make script target
      in Qemu, define mapping for IMAGE_BL32
      
      Minor fix Qemu return value type for plat_get_ns_image_entrypoint().
      
      Qemu model for the Cortex-A15 does not support the virtualization
      extension although the core expects it. To overcome the issue, Qemu
      ARMv7 configuration set ARCH_SUPPORTS_VIRTUALIZATION to 0.
      
      Add missing AArch32 assembly macro arm_print_gic_regs from ARM platform
      used by the Qemu platform.
      
      Qemu Cortex-A15 model integrates a single cluster with up to 4 cores.
      
      Change-Id: I65b44399071d6f5aa40d5183be11422b9ee9ca15
      Signed-off-by: default avatarEtienne Carriere <etienne.carriere@linaro.org>
      765ed9fc
  3. 02 Feb, 2018 3 commits
  4. 01 Feb, 2018 8 commits
  5. 30 Jan, 2018 1 commit
    • Caesar Wang's avatar
      rockchip/rk3399: Fix memory corruptions or illegal memory access · de3c3007
      Caesar Wang authored
      
      
      Coverity scan done for the coreboot project found the issue:
      Coverity (*** CID 1385418: Memory - illegal accesses (OVERRUN))
      Coverity (*** CID 1385419: Memory - corruptions  (OVERRUN))
      
      Fix the Converity error issue with store_cru[] loop needs to be one
      element bigger.
      
      Fixes: ARM-software/tf-issues#544
      
      Change-Id: I420f0a660b24baaa5fc5e78fca242cf750c9bbc7
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      de3c3007
  6. 29 Jan, 2018 2 commits
  7. 27 Jan, 2018 1 commit
  8. 26 Jan, 2018 1 commit
  9. 24 Jan, 2018 8 commits
  10. 22 Jan, 2018 4 commits
  11. 19 Jan, 2018 3 commits
    • Julius Werner's avatar
      rockchip: Move to MULTI_CONSOLE_API · 890abc33
      Julius Werner authored
      
      
      This patch changes all Rockchip platforms to use the new
      MULTI_CONSOLE_API. The platform-specific plat_crash_console
      implementations are removed so that the platform can use the ones from
      the common platform code instead.
      
      Also change the registers used in plat_crash_print_regs. The existing
      use of x16 and x17 has always been illegal, since those registers are
      reserved for use by the linker as a temporary scratch registers in
      intra-procedure-call veneers and can never be expected to maintain their
      values across a function call.
      
      Change-Id: I8249424150be8d5543ed4af93b56756795a5288f
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      890abc33
    • Julius Werner's avatar
      rockchip: Use coreboot-supplied serial console on coreboot systems · 3c250b9a
      Julius Werner authored
      
      
      This patch changes all Rockchip platforms to initialize the serial
      console with information supplied by coreboot rather than hardcoded
      base address and divisor values if BL31 is run on top of coreboot.
      Moving the BL2-to-BL31 parameter parsing as early as possible to ensure
      that the console is available for all following code.
      
      Also update the Rockchip platform to use MULTI_CONSOLE_API.
      
      Change-Id: I670d350fa2f8b8133539f91ac14977ab47db60d9
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      3c250b9a
    • Julius Werner's avatar
      Add default crash console code to hook up to new console API · 17cd67d2
      Julius Werner authored
      
      
      This patch expands the weak stubs for the plat_crash_console_xxx
      functions in common platform code to use the new console API for crash
      output. This should make crash console output "just work" for most cases
      without the need for the platform to explicitly set up a crash console.
      For cases where the normal console framework doesn't work (e.g. very
      early crashes, before the platform can register any consoles), platforms
      are still able to override the functions just like before.
      
      This feature requires the MULTI_CONSOLE_API compile-time flag to work.
      For builds which don't have it set, this patch has no practical effect.
      
      Change-Id: I80dd161cb43f9db59a0bad2dae33c6560cfac584
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      17cd67d2
  12. 18 Jan, 2018 3 commits
    • Roberto Vargas's avatar
      bl2-el3: Don't compile BL1 when BL2_AT_EL3 is defined in FVP · 76d26733
      Roberto Vargas authored
      
      
      This patch modifies the makefiles to avoid the definition
      of BL1_SOURCES and BL2_SOURCES in the tbbr makefiles, and
      it lets to the platform makefiles to define them if they
      actually need these images. In the case of BL2_AT_EL3
      BL1 will not be needed usually because the Boot ROM will
      jump directly to BL2.
      
      Change-Id: Ib6845a260633a22a646088629bcd7387fe35dcf9
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      76d26733
    • Roberto Vargas's avatar
      bl2-el3: Add BL2 at EL3 support in FVP · 81528dbc
      Roberto Vargas authored
      
      
      This patch add supports for the new API added for BL2 at EL3 for
      FVP. We don't have a non-TF Boot ROM for FVP, but this option can be
      tested setting specific parameters in the model.
      
      The bl2 image is loaded directly in memory instead of being loaded
      by a non-TF Boot ROM and the reset address is changed:
      
      	--data cluster0.cpu0=bl2.bin@0x4001000
      	-C cluster0.cpu0.RVBAR=0x4001000
      
      These parameters mean that in the cold boot path the processor will
      jump to BL2 again. For this reason, BL2 is loaded in dram in this
      case, to avoid other images reclaiming BL2 memory.
      
      Change-Id: Ieb2ff8535a9e67ccebcd8c2212cad366e7776422
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      81528dbc
    • Roberto Vargas's avatar
      bl2-el3: Add BL2_EL3 image · b1d27b48
      Roberto Vargas authored
      
      
      This patch enables BL2 to execute at the highest exception level
      without any dependancy on TF BL1. This enables platforms which already
      have a non-TF Boot ROM to directly load and execute BL2 and subsequent BL
      stages without need for BL1.  This is not currently possible because
      BL2 executes at S-EL1 and cannot jump straight to EL3.
      
      Change-Id: Ief1efca4598560b1b8c8e61fbe26d1f44e929d69
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      b1d27b48
  13. 16 Jan, 2018 2 commits
    • Leo Yan's avatar
      Hikey960: Change CPU standby state for WFI · 4c8a5787
      Leo Yan authored
      
      
      At early time, the CPU CA73 retention state has been supported on
      Hikey960.  Later we found the system has the hang issue and for
      resolving this issue Hisilicon released new MCU firmware, but
      unfortunately the new MCU firmware has side effect and results in the
      CA73 CPU cannot really enter retention state and roll back to WFI state.
      
      After discussion we cannot see the possibility to enable CA73 retention
      state anymore on Hikey960, based on this conclusion we should remove
      this state supporting from ARM-TF and roll back to WFI state only.  We
      will commit one patch to remove CA73 CPU retention state in kernel DT
      binding as well.
      
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Kevin Wang <jean.wangtao@linaro.org>
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      4c8a5787
    • Leo Yan's avatar
      Revert "Hikey960: Change to use recommended power state id format" · e1b27425
      Leo Yan authored
      This reverts commit fdae60b6.
      
      The commit fdae60b6
      
       changed the
      parameter encoding for the hikey960.  However that implies a DT change
      in the kernel side.  After submitting the DT change for upstreaming,
      the backward compatibility issue and the interface change raise some
      concerns from the Linux community about the issues related to kernel <->
      ATF alignment.  There is no way to detect a mis-alignment of those
      without a deep knowledge of the ATF and the kernel.  Furthermore, the
      failing calls to PSCI in the idle path (because of bad parameters), will
      lead to busy looping, implying: thermal issues and extra energy
      consumption.
      
      In regard of the Linux community concerns, the potential issues when the
      ATF and the kernel are not aligned, it is preferable to revert the
      commit.
      
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Kevin Wang <jean.wangtao@linaro.org>
      Co-authored-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      e1b27425