1. 21 Jul, 2021 1 commit
  2. 15 Jul, 2021 1 commit
  3. 12 Jul, 2021 7 commits
  4. 08 Jul, 2021 1 commit
  5. 06 Jul, 2021 6 commits
    • Leandro Belli's avatar
      cmake/cppcheck: Moddify suppress list file location · c0bb3777
      Leandro Belli authored
      
      
      This patch moddifies supress list file location and enables
      cppcheck for cmake build by default.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I043dfb86c41ce6146a27ff502e84d3a62bbe34c3
      c0bb3777
    • Girish Pathak's avatar
      product/juno: Provide PMI and DWT PMI config · ce5a6c41
      Girish Pathak authored
      
      
      This commits enables support for PMI and DWT modules
      for the Juno platform
      
      Change-Id: I3c5ba06fb5f0f93538e9ffab1366d1f1ca670e68
      Signed-off-by: default avatarGirish Pathak <girish.pathak@arm.com>
      ce5a6c41
    • Girish Pathak's avatar
      module: Add PMI and DWT PMI driver · 59e3365a
      Girish Pathak authored
      
      
      This change adds a new HAL module which provides performance
      measure functions such as cycle count and time measurement.
      
      It also provides a reference driver implementation on ARM platforms
      which uses DWT (Debug Watch and Trace) for implementing above
      functionality.
      
      Change-Id: Ia358abe1aed7d1ad5c80b217944d3437369c0752
      Signed-off-by: default avatarGirish Pathak <girish.pathak@arm.com>
      59e3365a
    • Girish Pathak's avatar
      framework: Minor optimizations for fwk_id_get_xxx calls. · 0d37eaa4
      Girish Pathak authored
      
      
      Calls fwk_id_get_module_idx, fwk_id_get_element_idx, and
      fwk_id_get_sub_element_idx are very frequently used in various
      framework and module functions. Since these are not inlined by
      the compiler, changing these to inline function can improve runtime
      performance by reducing the function call overhead.
      
      Change-Id: I7c0b6394640008eb0fff49c6be0ce2afaec0e5f6
      Signed-off-by: default avatarGirish Pathak <girish.pathak@arm.com>
      0d37eaa4
    • Girish Pathak's avatar
      framework: Use inline calls to enable/disable interrupts. · 2dc00804
      Girish Pathak authored
      
      
      This change makes fwk_interrupt_global_disable/enable as inline
      calls that resolves to the respective inline architecture specific
      interrupt disable/enable calls as defined in arch_helpers.h
      
      The use of inline functions will reduce the call overhead of
      the interrupt driver implemented enable/disable calls. This will
      improve the runtime performance(e.g. SCMI) because of reduced
      call overhead in processing of __fwk_thread_run for single thread
      and in common_thread_function for multi thread configuration
      and in few other relevant calls.
      
      Note, the framework related tests are also updated accordingly.
      
      Change-Id: I88638f7ccafa8eb4c957ab6aea30421d76542c35
      Signed-off-by: default avatarGirish Pathak <girish.pathak@arm.com>
      2dc00804
    • Girish Pathak's avatar
      arch/arm: Add interrupt disable/enable inline calls. · cf2b5da1
      Girish Pathak authored
      
      
      Currently disabling and enabling global interrupts is
      driven through architecture specific interrupt driver function
      calls. Unfortunately in performance sensitive code this is
      inefficient. This commit introduces architecture specific inline
      calls that can help to inline interrupts disable and enable
      efficiently.
      
      Change-Id: Ida0c092e277e462cf8fa2aace07a9f5cd5c41cea
      Signed-off-by: default avatarGirish Pathak <girish.pathak@arm.com>
      cf2b5da1
  6. 01 Jul, 2021 13 commits
    • Chris Kay's avatar
      armv7-m: Fix IRQn type conversion issues · 67a36127
      Chris Kay authored
      On platforms with more than 128 interrupts, IRQ numbers 128 and above
      cause negative indexing into the newly-created vector table, due in part
      to a newly-introduced `char` cast as well as truncation to `IRQn_Type`
      caused by our usage of `-fshort-enums`, causing difficult-to-diagnose
      crashes later in the program.
      
      This commit changes IRQs so that they are represented using `uint32_t`,
      which is guaranteed to hold all Armv7-M IRQs. We cannot use `IRQn_Type`
      to represent arbitrary IRQ integers, as they may be truncated if short
      enums are enabled and the IRQ has not been included in the type.
      
      This bug was originally introduced in commit `77e9fe7f
      
      `.
      
      Change-Id: I398cc922521d78a2498862b75d85162e7f034d09
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      67a36127
    • Leandro Belli's avatar
      Juno: Fix IRQ number overflow · 89f320e9
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I832117fde37bd61e75518f198ca602dfc2b72801
      89f320e9
    • Leandro Belli's avatar
      morello: Fix IRQ number overflow · 0b248d52
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I684fddf9d3ce3858d16105235121feca7ba712a6
      0b248d52
    • Leandro Belli's avatar
      n1sdp: Fix IRQ number overflow · 4b2392c2
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: Id8c7fb1af7caf6497596cfa810b0e2d8f81848af
      4b2392c2
    • Leandro Belli's avatar
      rdn1e1: Fix IRQ number overflow · 53537a55
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I2fab2fa84d0e90e422d64f6ee118b6e4970ccb85
      53537a55
    • Leandro Belli's avatar
      rdv1: Fix IRQ number overflow · 9cfa4c07
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I4d223e1c7aebd8cd58ebf5853ce661ce79ce3193
      9cfa4c07
    • Leandro Belli's avatar
      rdv1mc: Fix IRQ number overflow · 1cb8152f
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: Id8d9938ae3e9c33c3fd119a4b88ade33230ed7ad
      1cb8152f
    • Leandro Belli's avatar
      sgi575: Fix IRQ number overflow · 63db4cab
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: If567cd417ca9bc1bb9421417907144b47e2b3412
      63db4cab
    • Leandro Belli's avatar
      sgm775: Fix IRQ number overflow · 46285be3
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I252087cfa2c52b46fd1d1834346ba1ac7689b138
      46285be3
    • Leandro Belli's avatar
      sgm776: Fix IRQ number overflow · 2e1b88de
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I51662185fbd89f4bec5d1bcca8559fa9b7680d8d
      2e1b88de
    • Leandro Belli's avatar
      synquacer: Fix IRQ number overflow · e625d072
      Leandro Belli authored
      
      
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupt number variable do not undergo truncation causing boot
      failures. A problem which has been observed on certain platforms.
      Signed-off-by: default avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I6ffb9f588b3192b6024fa609c3ae7388085839e2
      e625d072
    • Chris Kay's avatar
      rdn2: Fix IRQ number overflow · d059308a
      Chris Kay authored
      
      
      RDN2 was exhibiting an issue where interrupt numbers greater
      than 128 could not safely have their interrupt handlers
      assigned.
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupts do not undergo truncation.
      
      Change-Id: I11a37b84c0b67861b6e3787a3681e76d59c6e927
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      d059308a
    • Chris Kay's avatar
      tc0: Fix IRQ number overflow · 99db568e
      Chris Kay authored
      
      
      TC0 was exhibiting an issue where interrupt numbers greater
      than 128 could not safely have their interrupt handlers
      assigned.
      This change ensures that `sizeof(IRQn_type) >= 2`, so that
      interrupts do not undergo truncation.
      
      Change-Id: I2756ddd26193b5ba5f4493c6771b8032c4a75805
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      99db568e
  7. 28 Jun, 2021 5 commits
  8. 21 Jun, 2021 1 commit
  9. 18 Jun, 2021 5 commits