1. 27 Mar, 2015 2 commits
    • Soby Mathew's avatar
      Remove the `owner` field in bakery_lock_t data structure · 548579f5
      Soby Mathew authored
      This patch removes the `owner` field in bakery_lock_t structure which
      is the data structure used in the bakery lock implementation that uses
      coherent memory. The assertions to protect against recursive lock
      acquisition were based on the 'owner' field. They are now done based
      on the bakery lock ticket number. These assertions are also added
      to the bakery lock implementation that uses normal memory as well.
      
      Change-Id: If4850a00dffd3977e218c0f0a8d145808f36b470
      548579f5
    • Soby Mathew's avatar
      Optimize the bakery lock structure for coherent memory · 1c9573a1
      Soby Mathew authored
      This patch optimizes the data structure used with the bakery lock
      implementation for coherent memory to save memory and minimize memory
      accesses. These optimizations were already part of the bakery lock
      implementation for normal memory and this patch now implements
      it for the coherent memory implementation as well. Also
      included in the patch is a cleanup to use the do-while loop while
      waiting for other contenders to finish choosing their tickets.
      
      Change-Id: Iedb305473133dc8f12126726d8329b67888b70f1
      1c9573a1
  2. 17 Mar, 2015 8 commits
  3. 16 Mar, 2015 3 commits
    • Vikram Kanigiri's avatar
      Use ARM CCI driver on FVP and Juno platforms · 4991ecdc
      Vikram Kanigiri authored
      This patch updates the FVP and Juno platform ports to use the common
      driver for ARM Cache Coherent Interconnects.
      
      Change-Id: Ib142f456b9b673600592616a2ec99e9b230d6542
      4991ecdc
    • Vikram Kanigiri's avatar
      Common driver for ARM Cache Coherent Interconnects · 23e47ede
      Vikram Kanigiri authored
      Even though both CCI-400 and CCI-500 IPs have different configurations
      with respect to the number and types of supported interfaces, their
      register offsets and programming sequences are similar. This patch
      creates a common driver for enabling and disabling snoop transactions
      and DVMs with both the IPs.
      
      New platform ports which implement one of these IPs should use this
      common driver. Existing platform ports which implement CCI-400 should
      migrate to the common driver as the standalone CCI-400 will be
      deprecated in the future.
      
      Change-Id: I3ccd0eb7b062922d2e4a374ff8c21e79fa357556
      23e47ede
    • Vikram Kanigiri's avatar
      Add macro to calculate number of elements in an array · a7e98ad5
      Vikram Kanigiri authored
      This patch defines the ARRAY_SIZE macro for calculating number of elements
      in an array and uses it where appropriate.
      
      Change-Id: I72746a9229f0b259323972b498b9a3999731bc9b
      a7e98ad5
  4. 13 Mar, 2015 1 commit
    • Vikram Kanigiri's avatar
      Initialise cpu ops after enabling data cache · 12e7c4ab
      Vikram Kanigiri authored
      The cpu-ops pointer was initialized before enabling the data cache in the cold
      and warm boot paths. This required a DCIVAC cache maintenance operation to
      invalidate any stale cache lines resident in other cpus.
      
      This patch moves this initialization to the bl31_arch_setup() function
      which is always called after the data cache and MMU has been enabled.
      
      This change removes the need:
       1. for the DCIVAC cache maintenance operation.
       2. to initialise the CPU ops upon resumption from a PSCI CPU_SUSPEND
          call since memory contents are always preserved in this case.
      
      Change-Id: Ibb2fa2f7460d1a1f1e721242025e382734c204c6
      12e7c4ab
  5. 11 Mar, 2015 3 commits
    • Juan Castillo's avatar
      checkpatch: ignore GIT_COMMIT_ID · 9b4ee6b3
      Juan Castillo authored
      By default, the checkpatch script requires that commit references
      included in commit messages follow a predefined format. Github
      merge commits do not follow this convention, causing the code
      style test to fail when a new pull request is created.
      
      This patch adds the ignore GIT_COMMIT_ID option to the checkpatch
      parameters. This flag indicates the tool to ignore the commit
      message format.
      
      Change-Id: I37133cc5cf803f664b8ff00f62d458b39f06918c
      9b4ee6b3
    • Sandrine Bailleux's avatar
      Juno: Disable workaround for Cortex-A57 erratum #806969 · 9cda6a94
      Sandrine Bailleux authored
      Cortex-A57 erratum #806969 applies to revision r0p0 of the CPU
      but does not manifest itself on Juno r0. It is not applicable
      to Juno r1 in any case.
      
      This patch modifies the Juno platform Makefile to no longer
      compile this erratum workaround in.
      
      Change-Id: I32b16835b2ac897e639e869ab2b78b62a51a0139
      9cda6a94
    • Juan Castillo's avatar
      TBB: remove PolarSSL SHA1 functions from the binary · 81ee0983
      Juan Castillo authored
      Commit ea4ec3aa ("TBB: use SHA256 to generate the certificate
      signatures") updated the cert_create tool to generate the
      signatures using SHA256 instead of SHA1. Therefore, SHA1 is no
      longer required.
      
      This patch removes the SHA1 option from the PolarSSL configuration
      file. The source file sha1.c is no longer needed and has been
      excluded from the build. The SHA1 functions are no longer included
      in the binary, reducing the memory footprint of BL1 and BL2 by
      approximately 6 KB.
      
      Change-Id: I72ea2cff03c0964c3eaadce148ec2ad2c6dde2e3
      81ee0983
  6. 10 Mar, 2015 2 commits
    • Sandrine Bailleux's avatar
      User guide: Add dependency on libssl-dev for cert_create tool · 4da85bb0
      Sandrine Bailleux authored
      The 'libssl-dev' package must be installed on the host to build the
      certificate generation tool. This patch adds it to the list of
      required tools in the User Guide.
      
      Change-Id: I018381fb14b7c2d2bd6f2b7929aaad0571f7eb2e
      4da85bb0
    • Sandrine Bailleux's avatar
      Update help message printed by the Makefile · 1b578596
      Sandrine Bailleux authored
      The message printed by 'make help' is incomplete. It doesn't
      mention all relevant supported targets. This patch updates it.
      
      The format of the first line of the help message has been changed
      so that it no longer lists all supported targets. This eases the
      maintenance as we don't need to update the list in 2 places
      anymore whenever a new target is added.
      
      Also add a reference to the user guide to get the list of
      supported options.
      
      Change-Id: I79d8b815b0ffc0c43b4c05124378fce0e938365c
      1b578596
  7. 06 Mar, 2015 2 commits
    • Sandrine Bailleux's avatar
      Enable type-checking of arguments passed to printf() et al. · dad25049
      Sandrine Bailleux authored
      This patch modifies the declarations of the functions printf() et al.
      and adds the right GCC attribute to request the compiler to check
      the type of the arguments passed to these functions against the given
      format string. This will ensure that the compiler outputs warning
      messages like the following whenever it detects an inconsistency:
      
       file.c:42: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
      
      It also fixes the type mismatch inconsistencies that it revealed
      across the code base.
      
      NOTE: THIS PATCH MAY FORCE PLATFORM PORTS OR SP/SPDS THAT USE THE
      PRINTF FAMILY OF FUNCTIONS TO FIX ANY TYPE MISMATCH INCONSISTENCIES.
      
      Change-Id: If36bb54ec7d6dd2cb4791d89b02a24ac13fd2df6
      dad25049
    • danh-arm's avatar
      Merge pull request #260 from jcastillo-arm/jc/tbb_sha256 · b5b12347
      danh-arm authored
      TBB: use SHA256 to generate the certificate signatures
      b5b12347
  8. 05 Mar, 2015 5 commits
    • Juan Castillo's avatar
      TBB: use SHA256 to generate the certificate signatures · ea4ec3aa
      Juan Castillo authored
      This patch replaces SHA1 by SHA256 in the 'cert_create' tool, so
      certificate signatures are generated according to the NSA Suite B
      cryptographic algorithm requirements.
      
      Documentation updated accordingly.
      
      Change-Id: I7be79e6b2b62dac8dc78a4f4f5006e37686bccf6
      ea4ec3aa
    • Juan Castillo's avatar
      TBB: fix build target 'all' dependency on certificates · 85cdfdb2
      Juan Castillo authored
      Build target 'all' fails when GENERATE_COT=1 and no BL3-3 or
      BL3-0 (if required) images are specified. The reason is that,
      when GENERATE_COT=1, a dependency on the certificates is added
      to the target 'all', and the certificates depend on the BL3-3
      and BL3-0 images, causing the build process to fail if the
      images are not specified.
      
      This patch moves the dependency on the certificates from 'all' to
      'fip'. Target 'all' may be used to build the individual images.
      The certificates will be created by calling the target 'fip', where
      BL3-3 and BL3-0 (if required) must be specified.
      
      Change-Id: I870beb4e8f9f1bfad1d35b09c850a7ce3c9f4ec6
      85cdfdb2
    • danh-arm's avatar
      Merge pull request #261 from sandrine-bailleux/sb/coding-style · 5930eadb
      danh-arm authored
      Ignore C library files when checking coding style
      Fix violations to the coding style
      5930eadb
    • Sandrine Bailleux's avatar
      Fix violations to the coding style · ba592e28
      Sandrine Bailleux authored
      All coding style violations have been fixed in a previous patch and
      since then, each individual patch has been checked in this regard.
      However, the latest version of the checkpatch.pl script from the Linux
      kernel is more advanced and it is able to flag new errors in the
      Trusted Firmware codebase. This patch fixes them.
      
      Change-Id: I1f332f2440984be85d36b231bb83260368987077
      ba592e28
    • Sandrine Bailleux's avatar
      Ignore C library files when checking coding style · 95d5353c
      Sandrine Bailleux authored
      The C library source files embedded into the Trusted Firmware
      tree are not required to comply to the Linux Coding Style.
      Unfortunately, 'make checkpatch' does take them into account.
      
      This patch modifies the Makefile so that the C library source
      and header files are now ignored by 'make checkpatch'.
      
      It also instructs the checkpatch.pl script to not treat the
      presence of a 'Change-Id' line in the commit message as an error.
      
      Change-Id: I38196202efe518bae3a57c2affe2ed7758c9f69c
      95d5353c
  9. 25 Feb, 2015 2 commits
  10. 19 Feb, 2015 1 commit
  11. 16 Feb, 2015 1 commit
    • Robin Murphy's avatar
      Juno: clear DMA-330 SMMU security state · 75f8261c
      Robin Murphy authored
      By default the SMMU for the DMA-330 is configured to mark some stream IDs
      as always belonging to the Secure world. As a result, if EL1 software turns
      the SMMU on, certain Non-Secure accesses get rewritten as Secure, making
      them bypass translation and access Secure physical addresses directly.
      
      Since the current Juno board firmware configures the DMA-330 hardware as
      Non-Secure, rewrite the SMMU's default SSD table as well to prevent any
      unexpected behaviour in EL1.
      
      Change-Id: Iaa81d883eecf28d80eb182b9ce475684bf9c718c
      75f8261c
  12. 12 Feb, 2015 2 commits
    • Soby Mathew's avatar
      Export maximum affinity using PLATFORM_MAX_AFFLVL macro · 8c32bc26
      Soby Mathew authored
      This patch removes the plat_get_max_afflvl() platform API
      and instead replaces it with a platform macro PLATFORM_MAX_AFFLVL.
      This is done because the maximum affinity level for a platform
      is a static value and it is more efficient for it to be defined
      as a platform macro.
      
      NOTE: PLATFORM PORTS NEED TO BE UPDATED ON MERGE OF THIS COMMIT
      
      Fixes ARM-Software/tf-issues#265
      
      Change-Id: I31d89b30c2ccda30d28271154d869060d50df7bf
      8c32bc26
    • Soby Mathew's avatar
      Minimize MAX_MMAP_REGIONS for each BL stage · ce41250e
      Soby Mathew authored
      This patch defines MAX_MMAP_REGIONS separately for each BL stage
      as per its requirements. This minimizes the size of the mmap[]
      array.
      
      Fixes ARM-Software/tf-issues#201
      
      Change-Id: I19b15e1a91a8365b2ecf24e2cd71937cb73916b2
      ce41250e
  13. 04 Feb, 2015 2 commits
  14. 03 Feb, 2015 4 commits
  15. 02 Feb, 2015 2 commits
    • danh-arm's avatar
      Merge pull request #253 from danh-arm/dh/deps-for-v1.1 · 8d6623bf
      danh-arm authored
      Move up dependency versions in user guide
      8d6623bf
    • Sandrine Bailleux's avatar
      Move up dependency versions in user guide · c4511313
      Sandrine Bailleux authored
      
      
      Move up the version numbers in the user guide of:
      
      * DS-5 (to v5.20)
      * EDK2 (to v2.1-rc0)
      * Linux Kernel (to 1.3-Juno)
      * Linaro file-system (to 14.12)
      * Juno SCP binary (to 1.5.0-rc0 within board recovery image 0.10.1).
        Also remove duplicate information that is available from the
        ARM Connected Community website.
      * Base FVP (to 6.2)
      * Foundation FVP (to 9.1). Also update the name of the Foundation
        FVP binary since it has changed since version 2.1.
      Co-Authored-By: default avatarDan Handley <dan.handley@arm.com>
      
      Change-Id: I1cf2f2b1a3f1b997ac905a4ab440876d265698c0
      c4511313