| d4593e47 | 06-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Disallow using coherent memory with hardware-assisted coherency
ARM Trusted Firmware keeps certain data structures in a memory region with non-cacheable attributes (termed as "coherent memory") to k
Disallow using coherent memory with hardware-assisted coherency
ARM Trusted Firmware keeps certain data structures in a memory region with non-cacheable attributes (termed as "coherent memory") to keep data coherent with observers that are cache-coherent, and those not. These data structures pertain to power management and mutual exclusion. Using coherent memory also costs at least an additional page to map memory with special memory attributes.
On systems with hardware-assisted coherency, all CPUs that participate in power management and mutual exclusion are cache-coherent, obviating the need for special memory attributes for such data structures. Instead, they can be placed in normal memory, along with rest of data.
On systems with hardware-assisted coherency, where build option HW_ASSISTED_COHERENCY will be set, also having USE_COHERENT_MEMORY enabled only wastes a page of memory without any benefit. Therefore, with HW_ASSISTED_COHERENCY set to 1, require that USE_COHERENT_MEMORY is explicitly set to 0.
Change-Id: I5101657ae6b1a46278069f23e2d88ee5cbd98efa Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| 25a93f7c | 05-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
Enable data caches early with hardware-assisted coherency
At present, warm-booted CPUs keep their caches disabled when enabling MMU, and remains so until they enter coherency later.
On systems with
Enable data caches early with hardware-assisted coherency
At present, warm-booted CPUs keep their caches disabled when enabling MMU, and remains so until they enter coherency later.
On systems with hardware-assisted coherency, for which HW_ASSISTED_COHERENCY build flag would be enabled, warm-booted CPUs can have both caches and MMU enabled at once.
Change-Id: Icb0adb026e01aecf34beadf49c88faa9dd368327 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 ...
|
| 311b1773 | 14-Feb-2017 |
Soby Mathew <soby.mathew@arm.com> |
Flush the GIC driver data after init
The GIC driver data is initialized by the primary CPU with caches enabled. When the secondary CPU boots up, it initializes the GICC/GICR interface with the cache
Flush the GIC driver data after init
The GIC driver data is initialized by the primary CPU with caches enabled. When the secondary CPU boots up, it initializes the GICC/GICR interface with the caches disabled and there is a chance that the driver data is not yet written back to the memory. This patch fixes this problem by flushing the driver data after they have been initialized.
Change-Id: Ie9477029683846209593ff005d2bac559bb8f5e6 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| f32ab444 | 01-Mar-2017 |
tony.xie <tony.xie@rock-chips.com> |
rockchip: plat_pm.c: Change callbacks implement for our SOCs.
Remove struct rockchip_pm_ops_cb and instead of using weak functions implement; in this way we want the codes look clear and simple;
Ch
rockchip: plat_pm.c: Change callbacks implement for our SOCs.
Remove struct rockchip_pm_ops_cb and instead of using weak functions implement; in this way we want the codes look clear and simple;
Change-Id: Ib9e8a5e932fdfc2b3e6a1ec502c40dfe720ac400 Signed-off-by: tony.xie <tony.xie@rock-chips.com>
show more ...
|
| a7cd0953 | 07-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: per-soc `get_target_pwr_state` handler
This patch implements a per-soc handler to calculate the target power state for the cluster/system. A weak implementation of the handler is provided for
Tegra: per-soc `get_target_pwr_state` handler
This patch implements a per-soc handler to calculate the target power state for the cluster/system. A weak implementation of the handler is provided for platforms to use by default.
For SoCs with multiple CPU clusters, this handler would provide the individual cluster/system state, allowing the PSCI service to flush caches during cluster/system power down.
Change-Id: I568cdb42204f9841a8430bd9105bd694f71cf91d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| da3849ec | 23-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: relocate BL32 image to TZDRAM memory
This patch adds support to relocate the BL32 image from the NS memory to TZDRAM during cold boot. The NS memory buffer is cleared out after the process co
Tegra: relocate BL32 image to TZDRAM memory
This patch adds support to relocate the BL32 image from the NS memory to TZDRAM during cold boot. The NS memory buffer is cleared out after the process completes.
Change-Id: I1a033ffe73b8c309449f874d5187708d0a8846d2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 7eec5092 | 21-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
stdlib: add memcpy16() to string.h
This patch exports memcpy16() for platforms, as an option to memcpy().
Change-Id: I5d4e1cfb4608ec3674224b1447fdd740de549b1f Signed-off-by: Varun Wadekar <vwadekar
stdlib: add memcpy16() to string.h
This patch exports memcpy16() for platforms, as an option to memcpy().
Change-Id: I5d4e1cfb4608ec3674224b1447fdd740de549b1f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8ab06d2f | 23-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: get BL31 arguments from previous bootloader
This patch implements handlers which platforms can override to get the BL31 arguments passed by the previous bootloader.
Change-Id: I6b9628a984644
Tegra: get BL31 arguments from previous bootloader
This patch implements handlers which platforms can override to get the BL31 arguments passed by the previous bootloader.
Change-Id: I6b9628a984644ce1b5de5aa6d7cd890e57241d89 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 4ce9a182 | 06-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: return BL32 entry point info if it is valid
This patch returns pointer to the BL32 entrypoint info only if it is valid.
Change-Id: I71ce3c4626681753c94f3a7bbaa50c26c74874cb Signed-off-by: Va
Tegra: return BL32 entry point info if it is valid
This patch returns pointer to the BL32 entrypoint info only if it is valid.
Change-Id: I71ce3c4626681753c94f3a7bbaa50c26c74874cb Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 08012f48 | 05-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: configure TZDRAM fence during early setup
This patch configures the TZDRAM fence during early platform setup to allow the memory controller to enable DRAM encryption before the TZDRAM actuall
Tegra: configure TZDRAM fence during early setup
This patch configures the TZDRAM fence during early platform setup to allow the memory controller to enable DRAM encryption before the TZDRAM actually gets used.
Change-Id: I0169ef9dda75699527b4e30c9e617a9036ba1d76 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 207680c6 | 02-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: restore TZRAM settings on "System Resume"
This patch restores the TZRAM fence and the access permissions on exiting the "System Suspend" state.
Change-Id: Ie313fca5a861c73f80df9639b01115780f
Tegra: restore TZRAM settings on "System Resume"
This patch restores the TZRAM fence and the access permissions on exiting the "System Suspend" state.
Change-Id: Ie313fca5a861c73f80df9639b01115780fb6e217 Signed-off-by: Varun Wadekar <vwadekar@nvidia.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 ...
|
| 45eab456 | 20-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1
This patch modifies the secure IRQ registration process to allow platforms to specify the target CPUs as well as the owner of the IR
Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1
This patch modifies the secure IRQ registration process to allow platforms to specify the target CPUs as well as the owner of the IRQ. IRQs "owned" by the EL3 would return INTR_TYPE_EL3 whereas those owned by the Trusted OS would return INTR_TYPE_S_EL1 as a result.
Change-Id: I528f7c8220d0ae0c0f354e78d69e188abb666ef6 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 78e2bd10 | 29-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: implement FIQ interrupt handler
This patch adds a handler for FIQ interrupts triggered when the CPU is in the NS world. The handler stores the NS world's context along with ELR_EL3/SPSR_EL3.
Tegra: implement FIQ interrupt handler
This patch adds a handler for FIQ interrupts triggered when the CPU is in the NS world. The handler stores the NS world's context along with ELR_EL3/SPSR_EL3.
The NS world driver issues an SMC initially to register it's handler. The monitor firmware stores this handler address and jumps to it when the FIQ interrupt fires. Upon entry into the NS world the driver then issues another SMC to get the CPU context when the FIQ fired. This allows the NS world driver to determine the CPU state and call stack when the interrupt fired. Generally, systems register watchdog interrupts as FIQs which are then used to get the CPU state during hangs/crashes.
Change-Id: I733af61a08d1318c75acedbe9569a758744edd0c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| d3360301 | 28-Dec-2015 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: GIC: enable FIQ interrupt handling
Tegra chips support multiple FIQ interrupt sources. These interrupts are enabled in the GICD/GICC interfaces by the tegra_gic driver. A new FIQ handler woul
Tegra: GIC: enable FIQ interrupt handling
Tegra chips support multiple FIQ interrupt sources. These interrupts are enabled in the GICD/GICC interfaces by the tegra_gic driver. A new FIQ handler would be added in a subsequent change which can be registered by the platform code.
This patch adds the GIC programming as part of the tegra_gic_setup() which now takes an array of all the FIQ interrupts to be enabled for the platform. The Tegra132 and Tegra210 platforms right now do not register for any FIQ interrupts themselves, but will definitely use this support in the future.
Change-Id: I0ea164be901cd6681167028fea0567399f18d4b8 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3eac92d2 | 06-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
cpus: denver: remove barrier from denver_enable_dco()
This patch removes unnecessary `isb` from the enable DCO sequence as there is no need to synchronize this operation.
Change-Id: I0191e684bbc7fd
cpus: denver: remove barrier from denver_enable_dco()
This patch removes unnecessary `isb` from the enable DCO sequence as there is no need to synchronize this operation.
Change-Id: I0191e684bbc7fdba635c3afbc4e4ecd793b6f06f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2693f1db | 05-May-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: implement common handler `plat_get_target_pwr_state()`
This patch adds a platform handler to calculate the proper target power level at the specified affinity level.
Tegra platforms assign a
Tegra: implement common handler `plat_get_target_pwr_state()`
This patch adds a platform handler to calculate the proper target power level at the specified affinity level.
Tegra platforms assign a local state value in order of decreasing depth of the power state i.e. for two power states X & Y, if X < Y then X represents a shallower power state than Y. As a result, the coordinated target local power state for a power domain will be the maximum of the requested local power state values.
Change-Id: I67360684b7f5b783fcfdd605b96da5375fa05417 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 11bd24be | 26-Apr-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: include platform_def.h to access UART macros
This patch includes platform_def.h required to access UART macros - "TEGRA_BOOT_UART_CLK_IN_HZ" and "TEGRA_CONSOLE_BAUDRATE" from tegra_helpers.S.
Tegra: include platform_def.h to access UART macros
This patch includes platform_def.h required to access UART macros - "TEGRA_BOOT_UART_CLK_IN_HZ" and "TEGRA_CONSOLE_BAUDRATE" from tegra_helpers.S.
Change-Id: Ieb63968a48dc299d03e81ddeb1ccc871cf3397a1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2d05f810 | 31-Mar-2016 |
Wayne Lin <wlin@nvidia.com> |
Tegra: allow SiP smc calls from Secure World
This patch removes the restriction of allowing SiP calls only from the non-secure world. The secure world can issue SiP calls as a result of this patch n
Tegra: allow SiP smc calls from Secure World
This patch removes the restriction of allowing SiP calls only from the non-secure world. The secure world can issue SiP calls as a result of this patch now.
Change-Id: Idd64e893ae8e114bba0196872d3ec544cac150bf Signed-off-by: Wayne Lin <wlin@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 5ea0b028 | 28-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: handler for per-soc early setup
This patch adds a weak handler for early platform setup which can be overriden by the soc-specific handlers to perform any early setup tasks.
Change-Id: I1a7a
Tegra: handler for per-soc early setup
This patch adds a weak handler for early platform setup which can be overriden by the soc-specific handlers to perform any early setup tasks.
Change-Id: I1a7a98d59b2332a3030c6dca5a9b7be977177326 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 939dcf25 | 24-Mar-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: relocate code to BL31_BASE during cold boot
This patch adds support to relocate BL3-1 code to BL31_BASE in case we cold boot to a different address. This is particularly useful to maintain co
Tegra: relocate code to BL31_BASE during cold boot
This patch adds support to relocate BL3-1 code to BL31_BASE in case we cold boot to a different address. This is particularly useful to maintain compatibility with legacy BL2 code.
This patch also checks to see if the image base address matches either the TZDRAM or TZSRAM base.
Change-Id: I72c96d7f89076701a6ac2537d4c06565c54dab9c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 56036edb | 28-Feb-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #851 from jeenu-arm/assert-fix
Remove redundant assert |
| 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 |