| f07d3985 | 12-Apr-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #885 from antonio-nino-diaz-arm/an/console-flush
Implement console_flush() |
| ed756252 | 06-Apr-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #886 from dp-arm/dp/stack-protector
Add support for GCC stack protection |
| 51faada7 | 24-Feb-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
Add support for GCC stack protection
Introduce new build option ENABLE_STACK_PROTECTOR. It enables compilation of all BL images with one of the GCC -fstack-protector-* options.
A new platform funct
Add support for GCC stack protection
Introduce new build option ENABLE_STACK_PROTECTOR. It enables compilation of all BL images with one of the GCC -fstack-protector-* options.
A new platform function plat_get_stack_protector_canary() is introduced. It returns a value that is used to initialize the canary for stack corruption detection. Returning a random value will prevent an attacker from predicting the value and greatly increase the effectiveness of the protection.
A message is printed at the ERROR level when a stack corruption is detected.
To be effective, the global data must be stored at an address lower than the base of the stacks. Failure to do so would allow an attacker to overwrite the canary as part of an attack which would void the protection.
FVP implementation of plat_get_stack_protector_canary is weak as there is no real source of entropy on the FVP. It therefore relies on a timer's value, which could be predictable.
Change-Id: Icaaee96392733b721fa7c86a81d03660d3c1bc06 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| 801cf93c | 17-Feb-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Add and use plat_crash_console_flush() API
This API makes sure that all the characters sent to the crash console are output before returning from it.
Porting guide updated.
Change-Id: I1785f970a40
Add and use plat_crash_console_flush() API
This API makes sure that all the characters sent to the crash console are output before returning from it.
Porting guide updated.
Change-Id: I1785f970a40f6aacfbe592b6a911b1f249bb2735 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| cfa33e2f | 29-Mar-2017 |
David Cunado <david.cunado@arm.com> |
Upgrade mbed TLS version
This patch updates the User Guide to recommend the latest version of mbed TLS library to use with ARM Trusted Firmware.
- Upgrade mbed TLS library: 2.2.1 -> 2.4.2
Chang
Upgrade mbed TLS version
This patch updates the User Guide to recommend the latest version of mbed TLS library to use with ARM Trusted Firmware.
- Upgrade mbed TLS library: 2.2.1 -> 2.4.2
Change-Id: Ifb5386fec0673d6dbfdaa474233e397afc279c85
show more ...
|
| 1ae5c8bb | 28-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #879 from Summer-ARM/sq/mt-support
ARM platforms: Add support for MT bit in MPIDR |
| d8d6cf24 | 28-Feb-2017 |
Summer Qin <summer.qin@arm.com> |
ARM platforms: Add support for MT bit in MPIDR
This patch modifies some of the functions in ARM platform layer to cater for the case when multi-threading `MT` is set in MPIDR. A new build flag `ARM_
ARM platforms: Add support for MT bit in MPIDR
This patch modifies some of the functions in ARM platform layer to cater for the case when multi-threading `MT` is set in MPIDR. A new build flag `ARM_PLAT_MT` is added, and when enabled, the functions accessing MPIDR now assume that the `MT` bit is set for the platform and access the bit fields accordingly.
Also, a new API plat_arm_get_cpu_pe_count is added when `ARM_PLAT_MT` is enabled, returning the PE count within the physical cpu corresponding to `mpidr`.
Change-Id: I04ccf212ac3054a60882761f4087bae299af13cb Signed-off-by: Summer Qin <summer.qin@arm.com>
show more ...
|
| 02accf98 | 24-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #872 from dp-arm/dp/fix-typo
firmware-design: Fix typo in ToC header flags specification |
| d34f4f84 | 16-Mar-2017 |
dp-arm <dimitris.papastamos@arm.com> |
firmware-design: Fix typo in ToC header flags specification
Fixes ARM-software/tf-issues#463
Change-Id: I73e0c5fbd87004953df8b1fa19319ad562ecc867 Signed-off-by: dp-arm <dimitris.papastamos@arm.com> |
| b75dc0e4 | 06-Oct-2016 |
Andre Przywara <andre.przywara@arm.com> |
Add workaround for ARM Cortex-A53 erratum 855873
ARM erratum 855873 applies to all Cortex-A53 CPUs. The recommended workaround is to promote "data cache clean" instructions to "data cache clean and
Add workaround for ARM Cortex-A53 erratum 855873
ARM erratum 855873 applies to all Cortex-A53 CPUs. The recommended workaround is to promote "data cache clean" instructions to "data cache clean and invalidate" instructions. For core revisions of r0p3 and later this can be done by setting a bit in the CPUACTLR_EL1 register, so that hardware takes care of the promotion. As CPUACTLR_EL1 is both IMPLEMENTATION DEFINED and can be trapped to EL3, we set the bit in firmware. Also we dump this register upon crashing to provide more debug information.
Enable the workaround for the Juno boards.
Change-Id: I3840114291958a406574ab6c49b01a9d9847fec8 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 510a9de7 | 17-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #860 from jeenu-arm/hw-asstd-coh
Patches for platforms with hardware-assisted coherency |
| 28ee754d | 16-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #856 from antonio-nino-diaz-arm/an/dynamic-xlat
Introduce version 2 of the translation tables library |
| ccbec91c | 24-Feb-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Apply workaround for errata 813419 of Cortex-A57
TLBI instructions for EL3 won't have the desired effect under specific circumstances in Cortex-A57 r0p0. The workaround is to execute DSB and TLBI tw
Apply workaround for errata 813419 of Cortex-A57
TLBI instructions for EL3 won't have the desired effect under specific circumstances in Cortex-A57 r0p0. The workaround is to execute DSB and TLBI twice each time.
Even though this errata is only needed in r0p0, the current errata framework is not prepared to apply run-time workarounds. The current one is always applied if compiled in, regardless of the CPU or its revision.
This errata has been enabled for Juno.
The `DSB` instruction used when initializing the translation tables has been changed to `DSB ISH` as an optimization and to be consistent with the barriers used for the workaround.
Change-Id: Ifc1d70b79cb5e0d87e90d88d376a59385667d338 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 0b64f4ef | 27-Feb-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Add dynamic region support to xlat tables lib v2
Added APIs to add and remove regions to the translation tables dynamically while the MMU is enabled. Only static regions are allowed to overlap other
Add dynamic region support to xlat tables lib v2
Added APIs to add and remove regions to the translation tables dynamically while the MMU is enabled. Only static regions are allowed to overlap other static ones (for backwards compatibility).
A new private attribute (MT_DYNAMIC / MT_STATIC) has been added to flag each region as such.
The dynamic mapping functionality can be enabled or disabled when compiling by setting the build option PLAT_XLAT_TABLES_DYNAMIC to 1 or 0. This can be done per-image.
TLB maintenance code during dynamic table mapping and unmapping has also been added.
Fixes ARM-software/tf-issues#310
Change-Id: I19e8992005c4292297a382824394490c5387aa3b Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 6feeb081 | 02-Mar-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #859 from Summer-ARM/sq/update-doc
Update LOAD_IMAGE_V2 user guide documentation |
| bea7caff | 02-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #853 from vwadekar/tegra-changes-from-downstream-v3
Tegra changes from downstream v3 |
| b0408e87 | 05-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
PSCI: Optimize call paths if all participants are cache-coherent
The current PSCI implementation can apply certain optimizations upon the assumption that all PSCI participants are cache-coherent.
PSCI: Optimize call paths if all participants are cache-coherent
The current PSCI implementation can apply certain optimizations upon the assumption that all PSCI participants are cache-coherent.
- Skip performing cache maintenance during power-up.
- Skip performing cache maintenance during power-down:
At present, on the power-down path, CPU driver disables caches and MMU, and performs cache maintenance in preparation for powering down the CPU. This means that PSCI must perform additional cache maintenance on the extant stack for correct functioning.
If all participating CPUs are cache-coherent, CPU driver would neither disable MMU nor perform cache maintenance. The CPU being powered down, therefore, remain cache-coherent throughout all PSCI call paths. This in turn means that PSCI cache maintenance operations are not required during power down.
- Choose spin locks instead of bakery locks:
The current PSCI implementation must synchronize both cache-coherent and non-cache-coherent participants. Mutual exclusion primitives are not guaranteed to function on non-coherent memory. For this reason, the current PSCI implementation had to resort to bakery locks.
If all participants are cache-coherent, the implementation can enable MMU and data caches early, and substitute bakery locks for spin locks. Spin locks make use of architectural mutual exclusion primitives, and are lighter and faster.
The optimizations are applied when HW_ASSISTED_COHERENCY build option is enabled, as it's expected that all PSCI participants are cache-coherent in those systems.
Change-Id: Iac51c3ed318ea7e2120f6b6a46fd2db2eae46ede Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| 3c251af3 | 04-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
build: Define build option for hardware-assisted coherency
The boolean build option HW_ASSISTED_COHERENCY is introduced to enable various optimizations in ARM Trusted Software, when built for such s
build: Define build option for hardware-assisted coherency
The boolean build option HW_ASSISTED_COHERENCY is introduced to enable various optimizations in ARM Trusted Software, when built for such systems. It's set to 0 by default.
Change-Id: I638390da6e1718fe024dcf5b402e07084f1eb014 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| 7334e5c7 | 22-Feb-2017 |
Summer Qin <summer.qin@arm.com> |
Update LOAD_IMAGE_V2 user guide documentation
Now the TRUSTED_BOARD_BOOT is supported for AArch64 when LOAD_IMAGE_V2 is enabled. This patch updates the user-guide.md documentation for the same.
Cha
Update LOAD_IMAGE_V2 user guide documentation
Now the TRUSTED_BOARD_BOOT is supported for AArch64 when LOAD_IMAGE_V2 is enabled. This patch updates the user-guide.md documentation for the same.
Change-Id: I97de07435c81258c2a5f41a30a69736863a10bd1 Signed-off-by: Summer Qin <summer.qin@arm.com>
show more ...
|
| 018b8480 | 12-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: enable ECC/Parity protection for Cortex-A57 CPUs
This patch enables L2 ECC and Parity Protection for ARM Cortex-A57 CPUs for Tegra SoCs.
Change-Id: I038fcd529991d0201a4951ce2730ab71b1c980f9
Tegra: enable ECC/Parity protection for Cortex-A57 CPUs
This patch enables L2 ECC and Parity Protection for ARM Cortex-A57 CPUs for Tegra SoCs.
Change-Id: I038fcd529991d0201a4951ce2730ab71b1c980f9 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| c1a29754 | 28-Feb-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #848 from douglas-raillard-arm/dr/improve_errata_doc
Clarify errata ERRATA_A53_836870 documentation |
| 3fbe46d7 | 15-Feb-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
Clarify errata ERRATA_A53_836870 documentation
The errata is enabled by default on r0p4, which is confusing given that we state we do not enable errata by default.
This patch clarifies this sentenc
Clarify errata ERRATA_A53_836870 documentation
The errata is enabled by default on r0p4, which is confusing given that we state we do not enable errata by default.
This patch clarifies this sentence by saying it is enabled in hardware by default.
Change-Id: I70a062d93e1da2416d5f6d5776a77a659da737aa Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| e1084216 | 29-Oct-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: init normal/crash console for platforms
The BL2 fills in the UART controller ID to be used as the normal as well as the crash console on Tegra platforms. The controller ID to UART controller
Tegra: init normal/crash console for platforms
The BL2 fills in the UART controller ID to be used as the normal as well as the crash console on Tegra platforms. The controller ID to UART controller base address mapping is handled by each Tegra SoC the base addresses might change across Tegra chips.
This patch adds the handler to parse the platform params to get the UART ID for the per-soc handlers.
Change-Id: I4d167b20a59aaf52a31e2a8edf94d8d6f89598fa Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e0d4158c | 06-Oct-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: add tzdram_base to plat_params_from_bl2 struct
This patch adds another member, tzdram_base, to the plat_params_from_bl2 struct in order to store the TZDRAM carveout base address used to load
Tegra: add tzdram_base to plat_params_from_bl2 struct
This patch adds another member, tzdram_base, to the plat_params_from_bl2 struct in order to store the TZDRAM carveout base address used to load the Trusted OS. The monitor programs the memory controller with the TZDRAM base and size in order to deny any accesses from the NS world.
Change-Id: If39b8674d548175d7ccb6525c18d196ae8a8506c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8da12f61 | 20-Feb-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #843 from jeenu-arm/cas-lock
Introduce locking primitives using CAS instruction |