| b6dcbf58 | 04-Apr-2017 |
Paul Kocialkowski <contact@paulk.fr> |
rockchip: Remove unused rockchip_pd_pwr_down_wfi function
The rockchip_pd_pwr_down_wfi function is currently unused, which may trigger compiler warnings or errors. Remove it.
Change-Id: I7e1b0ae092
rockchip: Remove unused rockchip_pd_pwr_down_wfi function
The rockchip_pd_pwr_down_wfi function is currently unused, which may trigger compiler warnings or errors. Remove it.
Change-Id: I7e1b0ae092e8855528ac2065ecefc8bd45305f31 Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
show more ...
|
| f9608bc8 | 08-Mar-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
Fix ARM_BL31_IN_DRAM build
Some header files using the ULL() macro were not directly including utils.h where the macro definition resides. As a consequence, a linker script with values using this ma
Fix ARM_BL31_IN_DRAM build
Some header files using the ULL() macro were not directly including utils.h where the macro definition resides. As a consequence, a linker script with values using this macro did not see the macro definition and kept the "ULL(<value>)" call in the preprocessed file, which lead to link error.
Files using ULL() macro now include utils.h directly.
Change-Id: I433a7f36bd21a156c20e69bc2a2bb406140ebdf9 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| e6d2aea1 | 28-Feb-2017 |
dp-arm <dimitris.papastamos@arm.com> |
Juno: Initialize stack protector canary from the trusted entropy source
Change-Id: I7f3e4bfd46613c6311ba4015d56705414fd6feab Signed-off-by: dp-arm <dimitris.papastamos@arm.com> |
| df9a39ea | 27-Feb-2017 |
dp-arm <dimitris.papastamos@arm.com> |
Juno: Introduce juno_getentropy(void *buf, size_t len)
This function fills the buffer (first argument) with the specified number of bytes (second argument) from the trusted entropy source.
This fun
Juno: Introduce juno_getentropy(void *buf, size_t len)
This function fills the buffer (first argument) with the specified number of bytes (second argument) from the trusted entropy source.
This function will be used to initialize the stack protector canary.
Change-Id: Iff15aaf4778c13fa883ecb5528fcf9b8479d4489 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
show more ...
|
| 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 ...
|
| ad4c2ec6 | 08-Feb-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Add console_core_flush() in upstream platforms
It is needed to add placeholders for this function because, as this is not a `plat_xxx()` function, there aren't weak definitions of it in any file.
I
Add console_core_flush() in upstream platforms
It is needed to add placeholders for this function because, as this is not a `plat_xxx()` function, there aren't weak definitions of it in any file.
If `console_flush()` is used and there isn't an implementation of `console_core_flush()` in any file, the compilation will fail.
Change-Id: I50eb56d085c4c9fbc85d40c343e86af6412f3020 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| c61cd638 | 19-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: get chip revision using platform identifiers
This patch switches to the functions which identify the underlying platform in order to calculate the chip SKU.
Change-Id: I20cf56234
Tegra: memctrl_v2: get chip revision using platform identifiers
This patch switches to the functions which identify the underlying platform in order to calculate the chip SKU.
Change-Id: I20cf5623465289ccfab28d6578efcf762bfeb456 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 524bd090 | 19-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: mce: read MCE's firmware version on "real" platforms
This patch runs the MCE firmware's version check only if the underlying platform has the capability to the run the firmware. MCE firmwa
Tegra186: mce: read MCE's firmware version on "real" platforms
This patch runs the MCE firmware's version check only if the underlying platform has the capability to the run the firmware. MCE firmware is not running on simulation platforms, identified by v0.3 or v0.6, read from the Tegra Chip ID value.
Change-Id: I3b1788b1ee2a0d4464017bb879ac5792cb7022b8 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2b04f927 | 19-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: use helper functions to get major/minor version
This patch uses helper functions to read the chips's major and minor version values.
Change-Id: I5b2530a31af5ab3778a8aa63380def4e9f9ee6ec S
Tegra186: use helper functions to get major/minor version
This patch uses helper functions to read the chips's major and minor version values.
Change-Id: I5b2530a31af5ab3778a8aa63380def4e9f9ee6ec Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 49cbbc4e | 12-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: memmap all UART controllers
This patch adds all the UART controllers to the memory map.
Change-Id: I035e55ca7bff0a96115102f2295981f9e3a5da6b Signed-off-by: Varun Wadekar <vwadekar@nvidia.
Tegra186: memmap all UART controllers
This patch adds all the UART controllers to the memory map.
Change-Id: I035e55ca7bff0a96115102f2295981f9e3a5da6b Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 9c2a3d8a | 02-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement plat_get_syscnt_freq2()
Commit f3d3b316f82faa88e42f3d09c97cd9e52ac92599 replaced plat_get_syscnt_freq by plat_get_syscnt_freq2 on all the upstream platforms. This patch modifies
Tegra186: implement plat_get_syscnt_freq2()
Commit f3d3b316f82faa88e42f3d09c97cd9e52ac92599 replaced plat_get_syscnt_freq by plat_get_syscnt_freq2 on all the upstream platforms. This patch modifies the Tegra186 code which is not present usptream, yet.
Change-Id: Ieda6168050a7769680a3a94513637fed03463a2d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 698f4250 | 21-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: smmu: disable TCU prefetch for all the 64 contexts
This patch disables TCU prefetch for all the contexts in order to improve SMMU performance.
Change-Id: I82ca49a0e396d9f064f5c62a5f00c4b2101
Tegra: smmu: disable TCU prefetch for all the 64 contexts
This patch disables TCU prefetch for all the contexts in order to improve SMMU performance.
Change-Id: I82ca49a0e396d9f064f5c62a5f00c4b2101d8459 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 48afb167 | 23-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: handlers to get BL31 arguments from previous bootloader
This patch overrides the default handlers to get BL31 arguments from the previous bootloader. The previous bootloader stores the poi
Tegra186: handlers to get BL31 arguments from previous bootloader
This patch overrides the default handlers to get BL31 arguments from the previous bootloader. The previous bootloader stores the pointer to the arguments in PMC secure scratch register #53.
BL31 is the first component running on the CPU, as there isn't a previous bootloader. We set the RESET_TO_BL31 flag to enable the path which assumes that there are no input parameters passed by the previous bootloader.
Change-Id: Idacc1df292a70c9c1cb4d5c3a774bd796175d5e8 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 962014f5 | 01-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: delete 'Video Memory Carveout' handling
This patch removes duplicate code from the platform's SiP handler routine for processing Video Memory Carveout region requests and uses the common S
Tegra186: delete 'Video Memory Carveout' handling
This patch removes duplicate code from the platform's SiP handler routine for processing Video Memory Carveout region requests and uses the common SiP handler instead.
Change-Id: Ib307de017fd88d5ed3c816288327cae750a67806 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2f583f8e | 25-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: TZRAM aperture configuration settings
This patch enables the configuration settings for the TZRAM aperture by programming the base/size of the aperture and restricting access to i
Tegra: memctrl_v2: TZRAM aperture configuration settings
This patch enables the configuration settings for the TZRAM aperture by programming the base/size of the aperture and restricting access to it. We allow only the CPU to read/write by programming the access configuration registers to 0.
Change-Id: Ie16ad29f4c5ec7aafa972b0a0230b4790ad5619e Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 512da21a | 29-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: modify the return type for `plat_get_syscnt_freq()`
Commit c073fda1c692d7c74415d26fb483d6336330fcc0 upstream changed the return type for `plat_get_syscnt_freq()` from uint64_t to unsigned
Tegra186: modify the return type for `plat_get_syscnt_freq()`
Commit c073fda1c692d7c74415d26fb483d6336330fcc0 upstream changed the return type for `plat_get_syscnt_freq()` from uint64_t to unsigned long long.
This patch modifies the return type for the Tegra186 platform.
Change-Id: Ic9e5c364b90972265576e271582a4347e5eaa6eb Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 1eed3838 | 18-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: Enable ECC and Parity Protection for A02p SKUs
This patch enables ECC and Parity Protection for Cortex-A57 CPUs during boot, for Tegra186 A02p SKUs.
Change-Id: I8522a6cb61f5e4fa9e0471f558
Tegra186: Enable ECC and Parity Protection for A02p SKUs
This patch enables ECC and Parity Protection for Cortex-A57 CPUs during boot, for Tegra186 A02p SKUs.
Change-Id: I8522a6cb61f5e4fa9e0471f558a0c3ee8078370e Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| c11e0ddf | 29-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: mce: Uncore Perfmon ARI Programming
Uncore perfmon appears to the CPU as a set of uncore perfmon registers which can be read and written using the ARI interface. The MCE code sequence hand
Tegra186: mce: Uncore Perfmon ARI Programming
Uncore perfmon appears to the CPU as a set of uncore perfmon registers which can be read and written using the ARI interface. The MCE code sequence handles reads and writes to these registers by manipulating the underlying T186 uncore hardware.
To access an uncore perfmon register, CPU software writes the ARI request registers to specify
* whether the operation is a read or a write, * which uncore perfmon register to access, * the uncore perfmon unit, group, and counter number (if necessary), * the data to write (if the operation is a write).
It then initiates an ARI request to run the uncore perfmon sequence in the MCE and reads the resulting value of the uncore perfmon register and any status information from the ARI response registers.
The NS world's MCE driver issues MCE_CMD_UNCORE_PERFMON_REQ command for the EL3 layer to start the entire sequence. Once the request completes, the NS world would receive the command status in the X0 register and the command data in the X1 register.
Change-Id: I20bf2eca2385f7c8baa81e9445617ae711ecceea Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| f3a20c32 | 09-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: implement `get_target_pwr_state` handler
This patch implements the `get_target_pwr_state` handler for Tegra186 SoCs. The SoC port uses this handler to find out the cluster/system state dur
Tegra186: implement `get_target_pwr_state` handler
This patch implements the `get_target_pwr_state` handler for Tegra186 SoCs. The SoC port uses this handler to find out the cluster/system state during CPU_SUSPEND, CPU_OFF and SYSTEM_SUSPEND calls.
The MCE firmware controls the power state of the CPU/CLuster/System, so we query it to get the state and act accordingly.
Change-Id: I86633d8d79aec7dcb405d2301ac69910f93110fe Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 87a1df73 | 24-Mar-2017 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra186: mce: add the mce_update_cstate_info() helper function
This patch adds a helper function to the MCE driver to allow its clients to issue UPDATE_CSTATE_INFO requests, without having to setup
Tegra186: mce: add the mce_update_cstate_info() helper function
This patch adds a helper function to the MCE driver to allow its clients to issue UPDATE_CSTATE_INFO requests, without having to setup the CPU context struct.
We introduced a struct to encapsulate the request parameters, that clients can pass on to the MCE driver. The MCE driver gets the parameters from the struct and programs the hardware accordingly.
Change-Id: I02bce57506c4ccd90da82127805d6b564375cbf1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| ddc1c56f | 30-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #875 from vwadekar/tegra186-platform-support-v2
Tegra186 platform support v2 |
| 6f822ccc | 28-Feb-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
Enable all A53 and A57 errata workarounds for Juno
Juno platform Makefile is responsible for enabling all the relevant errata. As the Juno platform port does not know which revision of Juno the TF i
Enable all A53 and A57 errata workarounds for Juno
Juno platform Makefile is responsible for enabling all the relevant errata. As the Juno platform port does not know which revision of Juno the TF is compiled for, the revision of the cores are unknown and so all errata up to this date are needed on at least one revision of Juno.
Change-Id: I38e1d6efc17e703f2bd55e0714f8d8fa4778f696 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| ab139902 | 29-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #870 from douglas-raillard-arm/dr/remove_asm_signed_test
Replace ASM signed tests with unsigned |
| 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 |