1. 18 Apr, 2016 1 commit
  2. 14 Apr, 2016 7 commits
    • danh-arm's avatar
      Merge pull request #549 from ljerry/tf_issue_373 · 7b4838e4
      danh-arm authored
      Allow to dump platform-defined regs in crash log
      7b4838e4
    • Gerald Lejeune's avatar
      Dump platform-defined regs in crash reporting · 9ff67fa6
      Gerald Lejeune authored
      
      
      It is up to the platform to implement the new plat_crash_print_regs macro to
      report all relevant platform registers helpful for troubleshooting.
      
      plat_crash_print_regs merges or calls previously defined plat_print_gic_regs
      and plat_print_interconnect_regs macros for each existing platforms.
      
      NOTE: THIS COMMIT REQUIRES ALL PLATFORMS THAT ENABLE THE `CRASH_REPORTING`
      BUILD FLAG TO MIGRATE TO USE THE NEW `plat_crash_print_regs()` MACRO. BY
      DEFAULT, `CRASH_REPORTING` IS ENABLED IN DEBUG BUILDS FOR ALL PLATFORMS.
      
      Fixes: arm-software/tf-issues#373
      Signed-off-by: default avatarGerald Lejeune <gerald.lejeune@st.com>
      9ff67fa6
    • Sandrine Bailleux's avatar
      Fix build error with optimizations disabled (-O0) · 10c252c1
      Sandrine Bailleux authored
      If Trusted Firmware is built with optimizations disabled (-O0), the
      linker throws the following error:
      
          undefined reference to 'xxx'
      
      Where 'xxx' is a raw inline function defined in a header file. The
      reason is that, with optimizations disabled, GCC may decide to skip
      the inlining. If that is the case, an external definition to the
      compilation unit must be provided. Because no external definition
      is present, the linker throws the error.
      
      This patch fixes the problem by declaring the following inline
      functions static, so the internal definition is used:
       - cm_set_next_context()
       - bakery_lock_init()
      
      Note that building the TF with optimizations disabled when Trusted
      Board Boot is enabled is currently unsupported, as this makes the BL2
      image too big to fit in memory without any adjustment of its base
      address. Similarly, disabling optimizations for debug builds on FVP
      is unsupported at the moment.
      
      Change-Id: I284a9f84cc8df96a0c1a52dfe05c9e8544c0cefe
      10c252c1
    • Sandrine Bailleux's avatar
      Give user's compiler flags precedence over default ones · 403973c9
      Sandrine Bailleux authored
      The user can provide additional CFLAGS to use when building TF.
      However, these custom CFLAGS are currently prepended to the
      standard CFLAGS that are hardcoded in the TF build system. This
      is an issue because when providing conflicting compiler flags
      (e.g. different optimisations levels like -O1 and -O0), the last
      one on the command line usually takes precedence. This means that
      the user flags get overriden.
      
      To address this problem, this patch separates the TF CFLAGS from
      the user CFLAGS. The former are now stored in the TF_CFLAGS make
      variable, whereas the CFLAGS make variable is untouched and reserved
      for the user. The order of the 2 sets of flags is enforced when
      invoking the compiler.
      
      Fixes ARM-Software/tf-issues#350
      
      Change-Id: Ib189f44555b885f1dffbec6015092f381600e560
      403973c9
    • danh-arm's avatar
      Merge pull request #593 from mtk09422/mtcmos-fix · df03c6ed
      danh-arm authored
      mt8173: Fix timing issue of mfg mtcmos power off
      df03c6ed
    • danh-arm's avatar
      Merge pull request #591 from soby-mathew/sm/xlat_common · 6d21b29d
      danh-arm authored
      Refactor the xlat_tables library
      6d21b29d
    • Fan Chen's avatar
      mt8173: Fix timing issue of mfg mtcmos power off · 8c9130c6
      Fan Chen authored
      
      
      In mt8173, there are totally 10 non-cpu mtcmos, so we cannot tell
      if SPM finished the power control flow by 10 status bits of PASR_PDP_3.
      So, extend PASR_PDP_3 status bits from 10 to 20 so that we can
      make sure if the control action has been done precisely.
      
      Change-Id: Ifd4faaa4173c6e0543aa8471149adb9fe7fadedc
      Signed-off-by: default avatarFan Chen <fan.chen@mediatek.com>
      8c9130c6
  3. 13 Apr, 2016 3 commits
    • Soby Mathew's avatar
      Migrate platform ports to the new xlat_tables library · 3e4b8fdc
      Soby Mathew authored
      This patch modifies the upstream platform port makefiles to use the new
      xlat_tables library files. This patch also makes mmap region setup common
      between AArch64 and AArch32 for FVP platform port. The file `fvp_common.c`
      is moved from the `plat/arm/board/fvp/aarch64` folder to the parent folder
      as it is not specific to AArch64.
      
      Change-Id: Id2e9aac45e46227b6f83cccfd1e915404018ea0b
      3e4b8fdc
    • Soby Mathew's avatar
      Refactor the xlat_tables library code · 3ca9928d
      Soby Mathew authored
      The AArch32 long descriptor format and the AArch64 descriptor format
      correspond to each other which allows possible sharing of xlat_tables
      library code between AArch64 and AArch32. This patch refactors the
      xlat_tables library code to seperate the common functionality from
      architecture specific code. Prior to this patch, all of the xlat_tables
      library code were in `lib/aarch64/xlat_tables.c` file. The refactored code
      is now in `lib/xlat_tables/` directory. The AArch64 specific programming
      for xlat_tables is in `lib/xlat_tables/aarch64/xlat_tables.c` and the rest
      of the code common to AArch64 and AArch32 is in
      `lib/xlat_tables/xlat_tables_common.c`. Also the data types used in
      xlat_tables library APIs are reworked to make it compatible between AArch64
      and AArch32.
      
      The `lib/aarch64/xlat_tables.c` file now includes the new xlat_tables
      library files to retain compatibility for existing platform ports.
      The macros related to xlat_tables library are also moved from
      `include/lib/aarch64/arch.h` to the header `include/lib/xlat_tables.h`.
      
      NOTE: THE `lib/aarch64/xlat_tables.c` FILE IS DEPRECATED AND PLATFORM PORTS
      ARE EXPECTED TO INCLUDE THE NEW XLAT_TABLES LIBRARY FILES IN THEIR MAKEFILES.
      
      Change-Id: I3d17217d24aaf3a05a4685d642a31d4d56255a0f
      3ca9928d
    • danh-arm's avatar
      Merge pull request #590 from yatharth-arm/yk/tzc400 · 43b97eda
      danh-arm authored
      Use unsigned long long instead of uintptr_t in TZC400/DMC500 drivers
      43b97eda
  4. 12 Apr, 2016 3 commits
    • Yatharth Kochar's avatar
      Use unsigned long long instead of uintptr_t in TZC400/DMC500 drivers · 9fbdb802
      Yatharth Kochar authored
      Currently the `tzc400_configure_region` and `tzc_dmc500_configure_region`
      functions uses uintptr_t as the data type for `region_top` and `region_base`
      variables, which will be converted to 32/64 bits for AArch32/AArch64
      respectively. But the expectation is to keep these addresses at least 64 bit.
      
      This patch modifies the data types to make it at least 64 bit by using
      unsigned long long instead of uintptr_t for the `region_top` and
      `region_base` variables. It also modifies the associated macros
      `_tzc##fn_name##_write_region_xxx` accordingly.
      
      Change-Id: I4e3c6a8a39ad04205cf0f3bda336c3970b15a28b
      9fbdb802
    • danh-arm's avatar
      Merge pull request #589 from soby-mathew/sm/fix_rk_build_err · 72c1dc14
      danh-arm authored
      Fix build error in Rockchip platform
      72c1dc14
    • Soby Mathew's avatar
      Fix build error in Rockchip platform · 000bc457
      Soby Mathew authored
      This patch fixes the compilation error in Rockchip rk3368 platform port when
      it is built in release mode.
      
      Fixes ARM-software/tf-issues#389
      
      Change-Id: I1a3508ac3a620289cf700e79db8f08569331ac53
      000bc457
  5. 11 Apr, 2016 1 commit
  6. 08 Apr, 2016 10 commits
  7. 07 Apr, 2016 10 commits
  8. 06 Apr, 2016 4 commits
  9. 05 Apr, 2016 1 commit
    • Tony Xie's avatar
      Support for Rockchip's family SoCs · 6fba6e04
      Tony Xie authored
      
      
      This patch adds to support the RK3368 and RK3399 SoCs.
      
      RK3368/RK3399 is one of the Rockchip family SoCs, which is an
      multi-cores ARM SoCs.
      
      This patch adds support to boot the Trusted Firmware on RK3368/RK3399
      SoCs, and adds support to boot secondary CPUs, enter/exit core
      power states for all CPUs in the slow/fast clusters.
      
      This is the initial version for rockchip SoCs.(RK3368/RK3399 and next SoCs)
      * Support arm gicv2 & gicv3.
      * Boot up multi-cores CPU.
      * Add generic CPU helper functions.
      * Support suspend/resume.
      * Add system_off & system_reset implementation.
      * Add delay timer platform implementation.
      * Support the new porting interface for the PSCI implementation.
      
      Change-Id: I704bb3532d65e8c70dbd99b512c5e6e440ea6f43
      Signed-off-by: default avatarTony Xie <tony.xie@rock-chips.com>
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      Signed-off-by: default avatarShengfei xu <xsf@rock-chips.com>
      6fba6e04