1. 17 Oct, 2016 2 commits
  2. 14 Oct, 2016 1 commit
  3. 13 Oct, 2016 6 commits
  4. 12 Oct, 2016 11 commits
    • danh-arm's avatar
      Merge pull request #732 from dp-arm/dp/pmf-doc · b314c9fa
      danh-arm authored
      PMF: Add documentation
      b314c9fa
    • dp-arm's avatar
      PMF: Add documentation · 514a94c2
      dp-arm authored
      
      
      Add a Performance Measurement Framework (PMF) section
      to the firmware design document.
      
      Change-Id: I5953bd3b1067501f190164c8827d2b0d8022fc0b
      Signed-off-by: default avatardp-arm <dimitris.papastamos@arm.com>
      514a94c2
    • dp-arm's avatar
      Remove non-standard <sys/cdefs.h> include from uuid.h · 9e23f9ab
      dp-arm authored
      This include provides nothing useful for TF and prevents building
      the fiptool using musl libc[0].
      
      [0] https://www.musl-libc.org/
      
      
      
      Change-Id: Ied35e16b9ea2b40213433f2a8185dddc59077884
      Signed-off-by: default avatardp-arm <dimitris.papastamos@arm.com>
      9e23f9ab
    • dp-arm's avatar
      Add PMF instrumentation points in TF · 872be88a
      dp-arm authored
      
      
      In order to quantify the overall time spent in the PSCI software
      implementation, an initial collection of PMF instrumentation points
      has been added.
      
      Instrumentation has been added to the following code paths:
      
      - Entry to PSCI SMC handler.  The timestamp is captured as early
        as possible during the runtime exception and stored in memory
        before entering the PSCI SMC handler.
      
      - Exit from PSCI SMC handler.  The timestamp is captured after
        normal return from the PSCI SMC handler or if a low power state
        was requested it is captured in the bl31 warm boot path before
        return to normal world.
      
      - Entry to low power state.  The timestamp is captured before entry
        to a low power state which implies either standby or power down.
        As these power states are mutually exclusive, only one timestamp
        is defined to describe both.  It is possible to differentiate between
        the two power states using the PSCI STAT interface.
      
      - Exit from low power state.  The timestamp is captured after a standby
        or power up operation has completed.
      
      To calculate the number of cycles spent running code in Trusted Firmware
      one can perform the following calculation:
      
      (exit_psci - enter_psci) - (exit_low_pwr - enter_low_pwr).
      
      The resulting number of cycles can be converted to time given the
      frequency of the counter.
      
      Change-Id: Ie3b8f3d16409b6703747093b3a2d5c7429ad0166
      Signed-off-by: default avatardp-arm <dimitris.papastamos@arm.com>
      872be88a
    • dp-arm's avatar
      Introduce ARM SiP service · f10796a0
      dp-arm authored
      
      
      This patch adds ARM SiP service for use by ARM standard platforms.
      This service is added to support the SMC interface for the Performance
      measurement framework(PMF).
      
      Change-Id: I26f5712f9ab54f5f721dd4781e35a16f40aacc44
      Signed-off-by: default avatardp-arm <dimitris.papastamos@arm.com>
      f10796a0
    • danh-arm's avatar
      Merge pull request #731 from danh-arm/an/fix-juno-doc · 2c8df7c1
      danh-arm authored
      Fix documentation of bootwrapper boot on juno
      2c8df7c1
    • Antonio Nino Diaz's avatar
      Fix documentation of bootwrapper boot on juno · 7486eb04
      Antonio Nino Diaz authored
      
      
      The user guide incorrectly claimed that it is possible to load a
      bootwrapped kernel over JTAG on Juno in the same manner as an EL3
      payload. In the EL3 payload boot flow, some of the platform
      initialisations in BL2 are modified. In particular, the TZC settings
      are modified to allow unrestricted access to DRAM. This in turn allows
      the debugger to access the DRAM and therefore to load the image there.
      
      In the BL33-preloaded boot flow though, BL2 uses the default TZC
      programming, which prevent access to most of the DRAM from secure state.
      When execution reaches the SPIN_ON_BL1_EXIT loop, the MMU is disabled
      and thus DS-5 presumably issues secure access transactions while trying
      to load the image, which fails.
      
      One way around it is to stop execution at the end of BL2 instead. At
      this point, the MMU is still enabled and the DRAM is mapped as
      non-secure memory. Therefore, the debugger is allowed to access this
      memory in this context and to sucessfully load the bootwrapped kernel in
      DRAM. The user guide is updated to suggest this alternative method.
      Co-Authored-By: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      Signed-off-by: default avatarDan Handley <dan.handley@arm.com>
      
      Change-Id: I537ea1c6d2f96edc06bc3f512e770c748bcabe94
      7486eb04
    • danh-arm's avatar
      Merge pull request #728 from yatharth-arm/yk/AArch32_porting_doc · c81894d7
      danh-arm authored
      AArch32: Update firmware-design.md
      c81894d7
    • danh-arm's avatar
      Merge pull request #727 from soby-mathew/sm/PSCI_lib_doc · ea68f8c7
      danh-arm authored
      AArch32: Update user-guide and add DTBs
      ea68f8c7
    • danh-arm's avatar
      Merge pull request #726 from soby-mathew/sm/fix_dt · 2010cf73
      danh-arm authored
      Fix GICv3 DT to include psci system off/reset
      2010cf73
    • danh-arm's avatar
      Merge pull request #725 from jeenu-arm/fix-duplicate-title · c31e707e
      danh-arm authored
      Docs: Rename duplicate title in porting guide
      c31e707e
  5. 11 Oct, 2016 4 commits
    • Soby Mathew's avatar
      AArch32: Update user-guide and add DTBs · 5e21d795
      Soby Mathew authored
      This patch adds necessary updates for building and running Trusted
      Firmware for AArch32 to user-guide.md. The instructions for running
      on both `FVP_Base_AEMv8A-AEMv8A` in AArch32 mode and
      `FVP_Base_Cortex-A32x4` models are added. The device tree files for
      AArch32 Linux kernel are also added in the `fdts` folder.
      
      Change-Id: I0023b6b03e05f32637cb5765fdeda8c8df2d0d3e
      5e21d795
    • Yatharth Kochar's avatar
      AArch32: Update firmware-design.md · 9a3236ea
      Yatharth Kochar authored
      This patch updates the firmware-design.md for AArch32 related changes.
      
      Change-Id: Idf392a44861ab9c1f59f3de4f3435f508b17c678
      9a3236ea
    • Jeenu Viswambharan's avatar
      Docs: Rename duplicate title in porting guide · ec2653a7
      Jeenu Viswambharan authored
      Fix one of the two titles that ended up being the same, although both
      describe different things.
      
      Change-Id: I66ecf369643709898ee4c014659d8f85c0480643
      ec2653a7
    • Soby Mathew's avatar
      Fix GICv3 DT to include psci system off/reset · 78c4f192
      Soby Mathew authored
      The `fvp-base-gicv3-psci` and `fvp-foundation-gicv3-psci` device tree source
      files did not have psci node entries for `system off` and `system reset`.
      Also the DTS files included `rtsm_ve-motherboard-no_psci.dtsi` instead of
      `rtsm_ve-motherboard.dtsi`. As a result, the Linux kernel failed to invoke
      the PSCI_SYSTEM_OFF/RESET API when being shutdown/reset. This patch corrects
      this problem and also updates the corresponding DTB files.
      
      This patch also removes `rtsm_ve-motherboard-no_psci.dtsi` and
      `fvp-foundation-motherboard-no_psci.dtsi` files as they are no longer used.
      
      Change-Id: I8ba61a1323035f7508cae663bb490ac0e8a64618
      78c4f192
  6. 29 Sep, 2016 2 commits
  7. 28 Sep, 2016 4 commits
    • danh-arm's avatar
      Merge pull request #722 from danh-arm/dh/drop-cla · eebb91e2
      danh-arm authored
      Drop requirement for CLA in contribution.md
      eebb91e2
    • Caesar Wang's avatar
      rockchip: fixes the clock select and divide register for rk3399 · 4d5d98c7
      Caesar Wang authored
      As the new RK3399TRM v1.1, there are some wrong set for CRU_CLKSEL_CON
      register.
      
      As the CRU_CLKSEL_CON96~107 high 16-bit isn't write mask and the
      CRU_CLKSEL_CON offset is 0x100,not 0x80.
      
      Change-Id: Ie127e9de74b87100af9a0150aad43e89e4972529
      4d5d98c7
    • Soby Mathew's avatar
      Docs: Add the PSCI library integration guide · 9e534b20
      Soby Mathew authored
      This patch adds the PSCI library integration guide for AArch32 ARMv8-A
      systems `psci-lib-integration-guide.md` to the documentation. The
      patch also adds appropriate reference to the new document in
      the `firmware-design.md` document.
      
      Change-Id: I2d5b5c6b612452371713399702e318e3c73a8ee0
      9e534b20
    • Yatharth Kochar's avatar
      AArch32: Add `memcpy4` function in assembly · 9c1dceb1
      Yatharth Kochar authored
      At present the `el3_entrypoint_common` macro uses `memcpy`
      function defined in lib/stdlib/mem.c file, to copy data
      from ROM to RAM for BL1. Depending on the compiler being
      used the stack could potentially be used, in `memcpy`,
      for storing the local variables. Since the stack is
      initialized much later in `el3_entrypoint_common` it
      may result in unknown behaviour.
      
      This patch adds `memcpy4` function definition in assembly so
      that it can be used before the stack is initialized and it
      also replaces `memcpy` by `memcpy4` in `el3_entrypoint_common`
      macro, to copy data from ROM to RAM for BL1.
      
      Change-Id: I3357a0e8095f05f71bbbf0b185585d9499bfd5e0
      9c1dceb1
  8. 27 Sep, 2016 3 commits
    • Dan Handley's avatar
      Drop requirement for CLA in contribution.md · 110740d3
      Dan Handley authored
      
      
      It is no longer necessary for contributors to send a CLA to ARM
      before making contributions. Contributors must instead add a
      "Signed-off-by:" line to each commit, which certifies that the
      contribution is made under the Developer Certificate of Origin
      (DCO).
      
      Update contributing.md to reflect this new policy and add a copy of
      the DCO to the repository.
      
      Change-Id: I7ca98bffc3bf57e8bdd51d763c24f13e415a328b
      Signed-off-by: default avatarDan Handley <dan.handley@arm.com>
      110740d3
    • davidcunado-arm's avatar
      Merge pull request #718 from sandrine-bailleux-arm/sb/update-deps-v1.3 · bfd92513
      davidcunado-arm authored
      Upgrade Linaro release, FVPs and mbed TLS versions
      bfd92513
    • Sandrine Bailleux's avatar
      Upgrade Linaro release, FVPs and mbed TLS versions · 605a4fc7
      Sandrine Bailleux authored
      This patch updates the User Guide to recommend the latest version
      of some of the software dependencies of ARM Trusted Firmware.
      
       - Upgrade Linaro release:     16.02 -> 16.06
      
       - Upgrade FVPs
          - Foundation v8 FVP:       9.5 -> 10.1
          - Base FVPs:               7.6 -> 7.7
      
       - Upgrade mbed TLS library:   2.2.0 -> 2.2.1
      
      Note that the latest release of mbed TLS as of today is 2.3.0 but it has
      compilations issues with the set of library configuration options that
      Trusted Firmware uses. 2.2.1 is the next most recent release known to
      build with TF.
      
      This patch also fixes the markdown formatting of a link in the
      User Guide.
      
      Change-Id: Ieb7dd336f4d3110fba060afec4ad580ae707a8f1
      605a4fc7
  9. 26 Sep, 2016 1 commit
  10. 23 Sep, 2016 3 commits
  11. 22 Sep, 2016 3 commits
    • danh-arm's avatar
      Merge pull request #714 from soby-mathew/sm/psci_lib_args · 06fbe472
      danh-arm authored
      Introduce PSCI Library argument structure
      06fbe472
    • Soby Mathew's avatar
      PSCI: Do psci_setup() as part of std_svc_setup() · 58e946ae
      Soby Mathew authored
      This patch moves the invocation of `psci_setup()` from BL31 and SP_MIN
      into `std_svc_setup()` as part of ARM Standard Service initialization.
      This allows us to consolidate ARM Standard Service initializations which
      will be added to in the future. A new function `get_arm_std_svc_args()`
      is introduced to get arguments corresponding to each standard service.
      This function must be implemented by the EL3 Runtime Firmware and both
      SP_MIN and BL31 implement it.
      
      Change-Id: I38e1b644f797fa4089b20574bd4a10f0419de184
      58e946ae
    • Soby Mathew's avatar
      PSCI: Introduce PSCI Library argument structure · f426fc05
      Soby Mathew authored
      This patch introduces a `psci_lib_args_t` structure which must be
      passed into `psci_setup()` which is then used to initialize the PSCI
      library. The `psci_lib_args_t` is a versioned structure so as to enable
      compatibility checks during library initialization. Both BL31 and SP_MIN
      are modified to use the new structure.
      
      SP_MIN is also modified to add version string and build message as part
      of its cold boot log just like the other BLs in Trusted Firmware.
      
      NOTE: Please be aware that this patch modifies the prototype of
      `psci_setup()`, which breaks compatibility with EL3 Runtime Firmware
      (excluding BL31 and SP_MIN) integrated with the PSCI Library.
      
      Change-Id: Ic3761db0b790760a7ad664d8a437c72ea5edbcd6
      f426fc05