1. 27 Mar, 2019 1 commit
  2. 25 Mar, 2019 2 commits
  3. 22 Mar, 2019 2 commits
  4. 21 Mar, 2019 2 commits
    • Dimitris Papastamos's avatar
      Merge pull request #1902 from jts-arm/romlib · 46d58f80
      Dimitris Papastamos authored
      ROMLIB bug fixes
      46d58f80
    • John Tsichritzis's avatar
      ROMLIB bug fixes · ae2e01b8
      John Tsichritzis authored
      
      
      Fixed the below bugs:
      1) Bug related to build flag V=1: if the flag was V=0, building with
      ROMLIB would fail.
      2) Due to a syntax bug in genwrappers.sh, index file entries marked as
      "patch" or "reserved" were ignored.
      3) Added a prepending hash to constants that genwrappers is generating.
      4) Due to broken dependencies, currently the inclusion functionality is
      intentionally not utilised. This is why the contents of romlib/jmptbl.i
      have been copied to platform specific jmptbl.i files. As a result of the
      broken dependencies, when changing the index files, e.g. patching
      functions, a clean build is always required. This is a known issue that
      will be fixed in the future.
      
      Change-Id: I9d92aa9724e86d8f90fcd3e9f66a27aa3cab7aaa
      Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
      ae2e01b8
  5. 20 Mar, 2019 3 commits
  6. 19 Mar, 2019 3 commits
  7. 18 Mar, 2019 5 commits
  8. 15 Mar, 2019 6 commits
  9. 14 Mar, 2019 9 commits
    • Heiko Stuebner's avatar
      rockchip: add an fdt parsing stub for platform param · 7029e806
      Heiko Stuebner authored
      
      
      The Rockchip ATF platform can be entered from both Coreboot and U-Boot.
      While Coreboot does submit the list of linked parameter structs as
      platform param, upstream u-boot actually always provides a pointer
      to a devicetree as parameter.
      This results in current ATF not running at all when started from U-Boot.
      
      To fix this, add a stub that checks if the parameter is a fdt so we
      can at least boot and not get stuck. Later on we can extend this with
      actual parsing of information from the devicetree.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      7029e806
    • Louis Mayencourt's avatar
      fvp: Increase the size of the stack for FVP · 01aa5247
      Louis Mayencourt authored
      
      
      When RECLAIM_INIT_CODE is 1, the stack is used to contain the .text.init
      section. This is by default enable on FVP. Due to the size increase of
      the .text.init section, the stack had to be adjusted contain it.
      
      Change-Id: Ia392341970fb86c0426cf2229b1a7295453e2e32
      Signed-off-by: default avatarLouis Mayencourt <louis.mayencourt@arm.com>
      01aa5247
    • John Tsichritzis's avatar
      Update documentation for mbed TLS v2.16 · 62e2d974
      John Tsichritzis authored
      
      
      Change-Id: I1854b5830dbd48e909a4ce1b931c13fb3e997600
      Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
      62e2d974
    • Sandrine Bailleux's avatar
      Put Pointer Authentication key value in BSS section · 47102b35
      Sandrine Bailleux authored
      
      
      The dummy implementation of the plat_init_apiakey() platform API uses
      an internal 128-bit buffer to store the initial key value used for
      Pointer Authentication support.
      
      The intent - as stated in the file comments - was for this buffer to
      be write-protected by the MMU. Initialization of the buffer would be
      performed before enabling the MMU, thus bypassing write protection
      checks.
      
      However, the key buffer ended up into its own read-write section by
      mistake due to a typo on the section name ('rodata.apiakey' instead of
      '.rodata.apiakey', note the leading dot). As a result, the linker
      script was not pulling it into the .rodata output section.
      
      One way to address this issue could have been to fix the section
      name. However, this approach does not work well for BL1. Being the
      first image in the boot flow, it typically is sitting in real ROM
      so we don't have the capacity to update the key buffer at any time.
      
      The dummy implementation of plat_init_apiakey() provided at the moment
      is just there to demonstrate the Pointer Authentication feature in
      action. Proper key management and key generation would have to be a
      lot more careful on a production system.
      
      Therefore, the approach chosen here to leave the key buffer in
      writable memory but move it to the BSS section. This does mean that
      the key buffer could be maliciously updated for intalling unintended
      keys on the warm boot path but at the feature is only at an
      experimental stage right now, this is deemed acceptable.
      
      Change-Id: I121ccf35fe7bc86c73275a4586b32d4bc14698d6
      Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      47102b35
    • Sandrine Bailleux's avatar
      Fix restoring APIBKey registers · 3ca26bed
      Sandrine Bailleux authored
      
      
      Instruction key A was incorrectly restored in the instruction key B
      registers.
      
      Change-Id: I4cb81ac72180442c077898509cb696c9d992eda3
      Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      3ca26bed
    • John Tsichritzis's avatar
      Introduce preliminary support for Neoverse Zeus · a4546e80
      John Tsichritzis authored
      
      
      Change-Id: If56d1e200a31bd716726d7fdc1cc0ae8a63ba3ee
      Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
      a4546e80
    • John Tsichritzis's avatar
      Apply variant 4 mitigation for Neoverse N1 · 8074448f
      John Tsichritzis authored
      
      
      This patch applies the new MSR instruction to directly set the
      PSTATE.SSBS bit which controls speculative loads. This new instruction
      is available at Neoverse N1 core so it's utilised.
      
      Change-Id: Iee18a8b042c90fdb72d2b98f364dcfbb17510728
      Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
      8074448f
    • Ambroise Vincent's avatar
      Cortex-A76: Optimize CVE_2018_3639 workaround · d0d115e2
      Ambroise Vincent authored
      
      
      Switched from a static check to a runtime assert to make sure a
      workaround is implemented for CVE_2018_3639.
      
      This allows platforms that know they have the SSBS hardware workaround
      in the CPU to compile out code under DYNAMIC_WORKAROUND_CVE_2018_3639.
      
      The gain in memory size without the dynamic workaround is 4KB in bl31.
      
      Change-Id: I61bb7d87c59964b0c7faac5d6bc7fc5c4651cbf3
      Signed-off-by: default avatarAmbroise Vincent <ambroise.vincent@arm.com>
      d0d115e2
    • Ambroise Vincent's avatar
      Cortex-A76: fix spelling · e8383be4
      Ambroise Vincent authored
      
      
      Change-Id: I6adf7c14e8a974a7d40d51615b5e69eab1a7436f
      Signed-off-by: default avatarAmbroise Vincent <ambroise.vincent@arm.com>
      e8383be4
  10. 13 Mar, 2019 7 commits