Skip to content
  1. Mar 28, 2019
  2. Mar 25, 2019
  3. Mar 22, 2019
  4. Mar 21, 2019
  5. Mar 20, 2019
  6. Mar 19, 2019
    • Antonio Nino Diaz's avatar
      Reintroduce Cactus-MM and SPM-MM tests · f2218e7b
      Antonio Nino Diaz authored
      
      
      The code has been taken from commit 99f4fd28 ("cactus: Use UART2
      instead of UART0") and modified slightly to be integrated in the current
      master.
      
      There are three tests that are failing in the CI. They have been
      disabled for the time being:
      
      - mem_attr_changes_tests() in cactus_main() in the file
        spm/cactus_mm/cactus_mm_main.c.
      
      - Two tests in the file tftf/tests/tests-spm-mm.xml.
      
      Change-Id: I6332cbff1cefeb82b9447fae1b613879e65186a1
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      f2218e7b
  7. Mar 18, 2019
    • Paul Beesley's avatar
      Check arguments when building manual tests · 960906b2
      Paul Beesley authored
      
      
      Manual tests require setting USE_NVM=1 and NEW_TEST_SESSION=0
      otherwise they will not function properly (as test results will
      not be preserved across reboots). We should check that these
      variables have the required values during the build.
      
      Change-Id: I72fc8a4badf107fe2ebd6bfb88631828e14a77b3
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      960906b2
    • Paul Beesley's avatar
      Remove tests-fwu.mk from tests-standard.mk · bf8f1b88
      Paul Beesley authored
      
      
      The FWU test components are being built as part of the
      tests-standard.mk configuration but tests-standard does not
      actually run any FWU tests (see tests-standard.xml). These FWU
      test components do not need to be built.
      
      Change-Id: I11a9012fcf79f4066947b0b2801c64d053f38d42
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      bf8f1b88
    • Paul Beesley's avatar
      Remove manual tests from tests-standard.mk · f1837f87
      Paul Beesley authored
      
      
      These tests require build variables to be set to non-default values
      (USE_NVM=1 and NEW_TEST_SESSION=0). This conflicts with other tests that
      are part of tests-standard (the default set of tests) and so the
      proposed solution is to remove them from this set.
      
      Change-Id: Id54148aab9410002dace33ad595ac1b0cf4678ca
      Signed-off-by: default avatarPaul Beesley <paul.beesley@arm.com>
      f1837f87
  8. Mar 13, 2019
    • Antonio Nino Diaz's avatar
      Add ARMv8.3 pointer authentication support · 9c9f92c4
      Antonio Nino Diaz authored
      
      
      ARMv8.3-PAuth adds functionality that supports address authentication of
      the contents of a register before that register is used as the target of
      an indirect branch, or as a load.
      
      This feature is supported only in AArch64 state.
      
      This feature is mandatory in ARMv8.3 implementations.
      
      This patch adds the functionality needed for platforms to provide
      authentication keys for the TF-A Test Framework, and a new option
      (ENABLE_PAUTH) to enable pointer authentication in the framework itself.
      This option is disabled by default.
      
      Pointer authentication support has been added to FVP.
      
      Change-Id: Id2d5c978deb68ae60107879f1c3d0b231cba9f42
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      9c9f92c4
    • Antonio Nino Diaz's avatar
      Remove pointer authentication test · 4ac64eb3
      Antonio Nino Diaz authored
      
      
      This test only makes sure that the pointer authentication registers can
      be read, which isn't a useful test now that the TFTF is going to support
      using pointer authentication.
      
      Change-Id: I01735677353ab08ba26f6faad1b900d98654c0d2
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      4ac64eb3
  9. Mar 05, 2019
  10. Mar 04, 2019
  11. Feb 27, 2019
  12. Feb 25, 2019
  13. Feb 12, 2019
  14. Feb 11, 2019
  15. Feb 08, 2019
  16. Jan 30, 2019
  17. Jan 28, 2019
  18. Jan 25, 2019
  19. Jan 24, 2019
    • Sandrine Bailleux's avatar
      Dump some registers when hitting an unexpected exception · a43b003a
      Sandrine Bailleux authored
      
      
      At the moment, no information is printed on the UART whenever we hit
      an unexpected exception, not even an error message. This is not great
      from the user's perspective, who has got no idea of what is going on.
      
      Now we print an error message, as well as the state of some of the
      registers. This includes general-purpose registers, as well as some
      system registers.
      
      This is implemented for TFTF running:
      
      - in AArch64 state, at EL2;
      - in AArch64 state, at NS-EL1;
      - in AArch32 state.
      
      We might want to dump more registers in the future but this patch
      at least provides a basis we can build upon.
      
      Also, the SP_EL0 has been removed from the list of registers saved in
      the CPU context because TFTF always uses SP_ELx and does not touch
      SP_EL0 at all.
      
      Change-Id: I56e4afa917b53b5ccccff1d5d09ac8ccfaa6ae49
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      a43b003a
    • Sandrine Bailleux's avatar
      Improve readability of TFTF exceptions code · e760449e
      Sandrine Bailleux authored
      
      
      The only exceptions that TFTF expects are IRQs from the current
      exception level. All other exceptions are unhandled and put the TFTF
      into an irrecoverable state. Introduce an unhandled_exception macro
      that makes it clearer.
      
      Change-Id: Ia64600d540007a648c14d8663c91c60c8591eae6
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      e760449e
  20. Jan 23, 2019
  21. Jan 18, 2019
    • Sandrine Bailleux's avatar
      Use lock-less printf() in assert macro · 971545c3
      Sandrine Bailleux authored
      
      
      This allows to use assertions in interrupt context (which we do in
      some places currently). Before this patch, a CPU could dead lock
      itself by:
      
      1. acquiring the printf lock in the normal execution context;
      2. taking an interrupt while still holding the lock;
      3. inside the interrupt handler, executing an assertion check that
         fails and thus tries to print an error message on the UART.
      
      In a situation where several CPUs might be executing assert() at the
      same time, we will now get interleaved messages but that should be
      pretty rare.
      
      Change-Id: I6d1603300f6a3ea5756a46338cb950b7ca3e7956
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      971545c3
  22. Jan 15, 2019
    • Sandrine Bailleux's avatar
      Always print file and line number in panic/unreachable macros · a2d516fc
      Sandrine Bailleux authored
      
      
      Release builds used to have a special variant of these macros without
      the source code location information. This kind of mechanism is useful
      when writing software that needs both a development and production
      version so that the source code information is not leaked when the
      device is in the field.
      
      However, in the context of TF-A Tests, it makes little sense, as it's
      unlikely somebody would ever ship a device with TF-A Tests installed
      on it.
      
      Change-Id: Ic14ad87c2756762807ee71142f21d6973233144e
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      a2d516fc
    • Sandrine Bailleux's avatar
      Merge changes from topic "sb/exceptions" · c1617386
      Sandrine Bailleux authored
      * changes:
        Rework IRQ vector code
        Add CFI debug info to vector entries
        Improve readability of exceptions stubs code
        Fix comments in AArch64 exceptions code
      c1617386
    • Sandrine Bailleux's avatar
      Move unstable tests to a separate pool of tests · 3951dd90
      Sandrine Bailleux authored
      
      
      Some tests have proven unreliable over time. They often time out and the
      root cause of the problem is unknown as of today.
      
      This root cause needs to be investigated and fixed but until then, this
      patch isolates these tests in their own pool. This allows us to set
      different trust levels in our CI:
       - The stable tests are trusted to call out the validity of a patch.
       - The unstable tests are only informative.
      
      Change-Id: Ia8ebb5a29a523ef3a1f324dbd3ddddac02254fd8
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      3951dd90
  23. Jan 14, 2019
    • Sandrine Bailleux's avatar
      Rework IRQ vector code · d101967f
      Sandrine Bailleux authored
      
      
      Jump straight to a function so that we are not constrained in the
      32-instruction limit. Turn the code saving and restoring
      general-purpose registers into a macro (as opposed to a function),
      thus removing the need to save the link register before anything else.
      
      Overall, this makes the code more straight-forward as we can more
      clearly see that registers are saved from x0 to x30 (in this order)
      without any magic twist.
      
      Change-Id: Ic70ceee62bec5efc6f6b6a23a7bd4c1d6c2f8a97
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      d101967f
    • Sandrine Bailleux's avatar
      Add CFI debug info to vector entries · 452f3605
      Sandrine Bailleux authored
      
      
      This is based on TF-A commit 31823b6961d35a5d53e81d3bf4977ad7b2be81dd.
      
      Add Call Frame Information assembler directives to vector entries so
      that debuggers display the backtrace of functions that triggered a
      synchronous exception. For example, a function triggering a data abort
      will be easier to debug if the backtrace can be displayed from a
      breakpoint at the beginning of the synchronous exception vector.
      
      DS-5 needs CFI otherwise it will not attempt to display the backtrace.
      Other debuggers might have other needs. These debug information are
      stored in the ELF file but not in the final binary.
      
      Change-Id: I1129419f318465049f53b5e41c304ea61fa44483
      Signed-off-by: Sandrine Bailleux's avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      452f3605
Loading