1. 18 Nov, 2019 1 commit
    • Louis Mayencourt's avatar
      ROMLIB: Optimize memory layout when ROMLIB is used · e7b39089
      Louis Mayencourt authored
      
      
      ROMLIB extract functions code from BL images to put them inside ROM.
      This has for effect to reduce the size of the BL images.
      
      This patch take this size reduction into consideration to optimize the
      memory layout of BL2.
      A new "PLAT_ARM_BL2_ROMLIB_OPTIMIZATION" macro is defined and used to
      reduce "PLAT_ARM_MAX_BL2_SIZE". This allows to remove the gap between
      BL1 and BL2 when ROMLIB is used and provides more room for BL31.
      
      The current memory gain is 0x6000 for fvp and 0x8000 for juno.
      
      Change-Id: I71c2c2c63b57bce5b22a125efaefc486ff3e87be
      Signed-off-by: default avatarLouis Mayencourt <louis.mayencourt@arm.com>
      e7b39089
  2. 11 Oct, 2019 2 commits
  3. 09 Oct, 2019 4 commits
    • Paul Beesley's avatar
    • Paul Beesley's avatar
      doc: Formatting fixes for readme.rst · 76cf653b
      Paul Beesley authored
      
      
      The readme.rst file in the project root is the front-page that
      is displayed on Github and if viewing the TF-A repository on
      git.trustedfirmware.org in the "about" view. It now contains a
      small amount of stub content, and directs readers to the
      ReadTheDocs documentation via trustedfirmware.org/docs/tf-a.
      
      The Github renderer is displaying the content fine but the cgit
      viewer displays some "backlink" errors because some content
      substitutions were left in place (terms surrounded by pipe
      symbols), e.g. |TF-A|.
      
      This patch removes those substitutions, that are not supported
      by cgit, and also updates one heading to clarify where to find
      the new docs.
      
      Change-Id: I358451df45b8c99975ba0b6db8ea61253a10560d
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      76cf653b
    • Paul Beesley's avatar
      Merge changes from topic "pb/readthedocs" into integration · f8e3340c
      Paul Beesley authored
      * changes:
        doc: Add guide for building the docs locally
        doc: De-duplicate readme and license files
        doc: Convert internal links to RST format
      f8e3340c
    • Paul Beesley's avatar
      doc: Add guide for building the docs locally · 862c764a
      Paul Beesley authored
      
      
      This new page contains instructions for doing a local
      build of the documentation, plus information on the environment
      setup that needs to be done beforehand.
      
      Change-Id: If563145ab40639cabbe25d0f62759981a33692c6
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      862c764a
  4. 08 Oct, 2019 5 commits
    • Paul Beesley's avatar
      doc: De-duplicate readme and license files · 8cc36aec
      Paul Beesley authored
      
      
      The readme.rst and license.rst files in the project root overlap
      with the index.rst and license.rst files in the docs/ folder. We
      need to use the latter when building the documentation, as Sphinx
      requires all included files to be under a common root. However,
      the files in the root are currently used by the cgit and Github
      viewers.
      
      Using symlinks in Git presents some difficulties so the best
      course of action is likely to leave these files but in stub form.
      
      The license.rst file in the root will simply tell the reader to
      refer to docs/license.rst.
      
      The readme.rst file will contain a small amount of content that
      is derived from the docs/index.rst file, so that the Github main
      page will have something valid to show, but it will also contain
      a link to the full documentation on ReadTheDocs.
      
      Change-Id: I6dc46f08777e8d7ecb32ca7afc07a28486c9f77a
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      8cc36aec
    • Paul Beesley's avatar
      doc: Convert internal links to RST format · 34760951
      Paul Beesley authored
      
      
      Currently links between documents are using the format:
      
      <path/to/><filename>.rst
      
      This was required for services like GitHub because they render each
      document in isolation - linking to another document is like linking
      to any other file, just provide the full path.
      
      However, with the new approach, the .rst files are only the raw
      source for the documents. Once the documents have been rendered
      the output is now in another format (HTML in our case) and so,
      when linking to another document, the link must point to the
      rendered version and not the .rst file.
      
      The RST spec provides a few methods for linking between content.
      The parent of this patch enabled the automatic creation of anchors
      for document titles - we will use these anchors as the targets for
      our links. Additional anchors can be added by hand if needed, on
      section and sub-section titles, for example.
      
      An example of this new format, for a document with the title
      "Firmware Design" is :ref:`Firmware Design`.
      
      One big advantage of this is that anchors are not dependent on
      paths. We can then move documents around, even between directories,
      without breaking any links between documents. Links will need to be
      updated only if the title of a document changes.
      
      Change-Id: I9e2340a61dd424cbd8fd1ecc2dc166f460d81703
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      34760951
    • Soby Mathew's avatar
      4fdad60c
    • Soby Mathew's avatar
      1d880258
    • Yann Gautier's avatar
      delay: correct timeout_init_us() · 9d811b85
      Yann Gautier authored
      
      
      The function has to use read_cntpct_el0() to update the counter, and not
      read_cntfrq_el0().
      
      Change-Id: I9c676466e784c3122e9ffc2d87e66708797086e7
      Signed-off-by: default avatarYann Gautier <yann.gautier@st.com>
      9d811b85
  5. 07 Oct, 2019 5 commits
  6. 04 Oct, 2019 3 commits
    • laurenw-arm's avatar
      Neoverse N1 Errata Workaround 1542419 · 80942622
      laurenw-arm authored
      
      
      Coherent I-cache is causing a prefetch violation where when the core
      executes an instruction that has recently been modified, the core might
      fetch a stale instruction which violates the ordering of instruction
      fetches.
      
      The workaround includes an instruction sequence to implementation
      defined registers to trap all EL0 IC IVAU instructions to EL3 and a trap
      handler to execute a TLB inner-shareable invalidation to an arbitrary
      address followed by a DSB.
      Signed-off-by: default avatarLauren Wehrmeister <lauren.wehrmeister@arm.com>
      Change-Id: Ic3b7cbb11cf2eaf9005523ef5578a372593ae4d6
      80942622
    • Soby Mathew's avatar
      81da28c2
    • Soby Mathew's avatar
      Fix the CAS spinlock implementation · c97cba4e
      Soby Mathew authored
      
      
      Make the spinlock implementation use ARMv8.1-LSE CAS instruction based
      on a platform build option. The CAS-based implementation used to be
      unconditionally selected for all ARM8.1+ platforms.
      
      The previous CAS spinlock implementation had a bug wherein the spin_unlock()
      implementation had an `sev` after `stlr` which is not sufficient. A dsb is
      needed to ensure that the stlr completes prior to the sev. Having a dsb is
      heavyweight and a better solution would be to use load exclusive semantics
      to monitor the lock and wake up from wfe when a store happens to the lock.
      The patch implements the same.
      
      Change-Id: I5283ce4a889376e4cc01d1b9d09afa8229a2e522
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      Signed-off-by: default avatarOlivier Deprez <olivier.deprez@arm.com>
      c97cba4e
  7. 03 Oct, 2019 17 commits
  8. 02 Oct, 2019 3 commits