| #
f3ccf036 |
| 14-Jul-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
TF-A AMU extension: fix detection of group 1 counters.
This patch fixes the bug when AMUv1 group1 counters was always assumed being implemented without checking for its presence which was causing ex
TF-A AMU extension: fix detection of group 1 counters.
This patch fixes the bug when AMUv1 group1 counters was always assumed being implemented without checking for its presence which was causing exception otherwise. The AMU extension code was also modified as listed below: - Added detection of AMUv1 for ARMv8.6 - 'PLAT_AMU_GROUP1_NR_COUNTERS' build option is removed and number of group1 counters 'AMU_GROUP1_NR_COUNTERS' is now calculated based on 'AMU_GROUP1_COUNTERS_MASK' value - Added bit fields definitions and access functions for AMCFGR_EL0/AMCFGR and AMCGCR_EL0/AMCGCR registers - Unification of amu.c Aarch64 and Aarch32 source files - Bug fixes and TF-A coding style compliant changes.
Change-Id: I14e407be62c3026ebc674ec7045e240ccb71e1fb Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
fc721f83 |
| 20-May-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Enable v8.6 WFE trap delays" into integration
|
| #
6cac724d |
| 22-Apr-2020 |
johpow01 <john.powell@arm.com> |
Enable v8.6 WFE trap delays
This patch enables the v8.6 extension to add a delay before WFE traps are taken. A weak hook plat_arm_set_twedel_scr_el3 has been added in plat/common/aarch64/plat_common
Enable v8.6 WFE trap delays
This patch enables the v8.6 extension to add a delay before WFE traps are taken. A weak hook plat_arm_set_twedel_scr_el3 has been added in plat/common/aarch64/plat_common.c that disables this feature by default but platform-specific code can override it when needed.
The only hook provided sets the TWED fields in SCR_EL3, there are similar fields in HCR_EL2, SCTLR_EL2, and SCTLR_EL1 to control WFE trap delays in lower ELs but these should be configured by code running at EL2 and/or EL1 depending on the platform configuration and is outside the scope of TF-A.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I0a9bb814205efeab693a3d0a0623e62144abba2d
show more ...
|
| #
1f915222 |
| 24-Apr-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "Provide a hint to power controller for DSU cluster power down" into integration
|
| #
9cf7f355 |
| 30-Oct-2019 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Provide a hint to power controller for DSU cluster power down
By writing 0 to CLUSTERPWRDN DSU register bit 0, we send an advisory to the power controller that cluster power is not required when all
Provide a hint to power controller for DSU cluster power down
By writing 0 to CLUSTERPWRDN DSU register bit 0, we send an advisory to the power controller that cluster power is not required when all cores are powered down.
The AArch32 CLUSTERPWRDN register is architecturally mapped to the AArch64 CLUSTERPWRDN_EL1 register
Change-Id: Ie6e67c1c7d811fa25c51e2e405ca7f59bd20c81b Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| #
11504163 |
| 02-Apr-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
locks: bakery: use is_dcache_enabled() helper
bakery_lock_normal.c uses the raw register accessor, read_sctlr(_el3) to check whether the dcache is enabled.
Using is_dcache_enabled() is cleaner, and
locks: bakery: use is_dcache_enabled() helper
bakery_lock_normal.c uses the raw register accessor, read_sctlr(_el3) to check whether the dcache is enabled.
Using is_dcache_enabled() is cleaner, and a good abstraction for the library code like this.
A problem is is_dcache_enabled() is declared in the local header, lib/xlat_tables_v2/xlat_tables_private.h
I searched for a good place to declare this helper. Moving it to arch_helpers.h, closed to cache operation helpers, looks good enough to me.
I also changed the type of 'is_cached' to bool for consistency, and to avoid MISRA warnings.
Change-Id: I9b016f67bc8eade25c316aa9c0db0fa4cd375b79 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
614be75d |
| 31-Mar-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Add get_current_el_maybe_constant()" into integration
|
| #
fd092be2 |
| 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Add get_current_el_maybe_constant()
There are some cases where we want to run EL-dependent code in the shared code.
We could use #ifdef, but it leaves slight possibility where we do not know the ex
Add get_current_el_maybe_constant()
There are some cases where we want to run EL-dependent code in the shared code.
We could use #ifdef, but it leaves slight possibility where we do not know the exception level at the build-time (e.g. library code).
The counter approach is to use get_current_el(), but it is run-time detection, so all EL code is linked, some of which might be unneeded.
This commit adds get_current_el_maybe_constant(). This is a static inline function that returns a constant value if we know the exception level at build-time. This is mostly the case.
if (get_current_el_maybe_constant() == 1) { /* do something for EL1 */ } else if (get_current_el_maybe_constant() == 3) { /* do something for EL3 */ }
If get_current_el_maybe_constant() is build-time constant, the compiler will optimize out the unreachable code.
If such code is included from the library code, it is not built-time constant. In this case, it falls back to get_current_el(), so it still works.
Change-Id: Idb03c20342a5b5173fe2d6b40e1fac7998675ad3 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
c8e0f950 |
| 10-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Make PAC demangling more generic" into integration
|
| #
68c76088 |
| 06-Feb-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Make PAC demangling more generic
At the moment, address demangling is only used by the backtrace functionality. However, at some point, other parts of the TF-A codebase may want to use it. The 'dema
Make PAC demangling more generic
At the moment, address demangling is only used by the backtrace functionality. However, at some point, other parts of the TF-A codebase may want to use it. The 'demangle_address' function is replaced with a single XPACI instruction which is also added in 'do_crash_reporting()'.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Change-Id: I4424dcd54d5bf0a5f9b2a0a84c4e565eec7329ec
show more ...
|
| #
91624b7f |
| 12-Sep-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "jc/mte_enable" into integration
* changes: Add documentation for CTX_INCLUDE_MTE_REGS Enable MTE support in both secure and non-secure worlds
|
| #
9dd94382 |
| 18-Jul-2019 |
Justin Chadwell <justin.chadwell@arm.com> |
Enable MTE support in both secure and non-secure worlds
This patch adds support for the new Memory Tagging Extension arriving in ARMv8.5. MTE support is now enabled by default on systems that suppor
Enable MTE support in both secure and non-secure worlds
This patch adds support for the new Memory Tagging Extension arriving in ARMv8.5. MTE support is now enabled by default on systems that support at EL0. To enable it at ELx for both the non-secure and the secure world, the compiler flag CTX_INCLUDE_MTE_REGS includes register saving and restoring when necessary in order to prevent register leakage between the worlds.
Change-Id: I2d4ea993d6b11654ea0d4757d00ca20d23acf36c Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
show more ...
|
| #
0cdbd023 |
| 07-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "sm/fix_a76_errata" into integration
* changes: Workaround for cortex-A76 errata 1286807 Cortex-A76: workarounds for errata 1257314, 1262606, 1262888, 1275112
|
| #
f85edcea |
| 03-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Workaround for cortex-A76 errata 1286807
The workaround for Cortex-A76 errata #1286807 is implemented in this patch.
Change-Id: I6c15af962ac99ce223e009f6d299cefb41043bed Signed-off-by: Soby Mathew
Workaround for cortex-A76 errata 1286807
The workaround for Cortex-A76 errata #1286807 is implemented in this patch.
Change-Id: I6c15af962ac99ce223e009f6d299cefb41043bed Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| #
8a08e272 |
| 04-Apr-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1920 from ambroise-arm/av/deprecated
Remove deprecated interfaces
|
| #
c6cafcd7 |
| 27-Mar-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
Remove deprecated interfaces
Change-Id: I14fcabbdfd53153d1d5f187f6f8b23a045794408 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
|
| #
bf9e90c9 |
| 05-Mar-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1855 from dp-arm/dp/ssbs
Ensure proper ID register is checked for feature detection
|
| #
6ecfda52 |
| 27-Feb-2019 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Ensure proper ID register is checked for feature detection
SSBS support is determined by checking ID_AA64PFR1_EL1 and not ID_AA64PFR0_EL1.
Fixes ARM-Software/tf-issues#679
Change-Id: I8ecba13b8509
Ensure proper ID register is checked for feature detection
SSBS support is determined by checking ID_AA64PFR1_EL1 and not ID_AA64PFR0_EL1.
Fixes ARM-Software/tf-issues#679
Change-Id: I8ecba13b850995ec6a6ede3c2a1e02e69a3a95db Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
show more ...
|
| #
4476838a |
| 01-Mar-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1845 from ambroise-arm/av/errata
Apply workarounds for errata of Cortex-A53, A55 and A57
|
| #
bd393704 |
| 21-Feb-2019 |
Ambroise Vincent <ambroise.vincent@arm.com> |
Cortex-A53: Workarounds for 819472, 824069 and 827319
The workarounds for these errata are so closely related that it is better to only have one patch to make it easier to understand.
Change-Id: I0
Cortex-A53: Workarounds for 819472, 824069 and 827319
The workarounds for these errata are so closely related that it is better to only have one patch to make it easier to understand.
Change-Id: I0287fa69aefa8b72f884833f6ed0e7775ca834e9 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
show more ...
|
| #
57bc6424 |
| 27-Feb-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1829 from antonio-nino-diaz-arm/an/pauth
Add Pointer Authentication (ARMv8.3-PAuth) support to the TF
|
| #
b86048c4 |
| 19-Feb-2019 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Add support for pointer authentication
The previous commit added the infrastructure to load and save ARMv8.3-PAuth registers during Non-secure <-> Secure world switches, but didn't actually enable p
Add support for pointer authentication
The previous commit added the infrastructure to load and save ARMv8.3-PAuth registers during Non-secure <-> Secure world switches, but didn't actually enable pointer authentication in the firmware.
This patch adds the functionality needed for platforms to provide authentication keys for the firmware, and a new option (ENABLE_PAUTH) to enable pointer authentication in the firmware itself. This option is disabled by default, and it requires CTX_INCLUDE_PAUTH_REGS to be enabled.
Change-Id: I35127ec271e1198d43209044de39fa712ef202a5 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
bc5e79cd |
| 25-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1776 from vwadekar/tf2.0-tegra-downstream-rebase-1.22.19
Tf2.0 tegra downstream rebase 1.22.19
|
| #
e4e97f1d |
| 23-Jan-2019 |
Varun Wadekar <vwadekar@nvidia.com> |
Helper function to read ID_AFR0_EL1 system register
This patch provides helper function to read the ID_AFR0_EL1 system register for platforms.
Change-Id: Id5491b18e3bf9f619d98d6cc8efd9d2cf5918c9d S
Helper function to read ID_AFR0_EL1 system register
This patch provides helper function to read the ID_AFR0_EL1 system register for platforms.
Change-Id: Id5491b18e3bf9f619d98d6cc8efd9d2cf5918c9d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| #
f2f04434 |
| 15-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1747 from antonio-nino-diaz-arm/an/cnp-dynamic
xlat v2: Dynamically detect need for CnP bit
|