History log of /rk3399_ARM-atf/lib/ (Results 2151 – 2175 of 2366)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
044bb2fa20-Apr-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Remove build option `ASM_ASSERTION`

The build option `ENABLE_ASSERTIONS` should be used instead. That way
both C and ASM assertions can be enabled or disabled together.

All occurrences of `ASM_ASSE

Remove build option `ASM_ASSERTION`

The build option `ENABLE_ASSERTIONS` should be used instead. That way
both C and ASM assertions can be enabled or disabled together.

All occurrences of `ASM_ASSERTION` in common code and ARM platforms have
been replaced by `ENABLE_ASSERTIONS`.

ASM_ASSERTION has been removed from the user guide.

Change-Id: I51f1991f11b9b7ff83e787c9a3270c274748ec6f
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

cc8b563218-Apr-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Add `ENABLE_ASSERTIONS` build option

Add the new build option `ENABLE_ASSERTIONS` that controls whether or
not assert functions are compiled out. It defaults to 1 for debug builds
and to 0 for relea

Add `ENABLE_ASSERTIONS` build option

Add the new build option `ENABLE_ASSERTIONS` that controls whether or
not assert functions are compiled out. It defaults to 1 for debug builds
and to 0 for release builds.

Additionally, a following patch will be done to allow this build option
to hide auxiliary code used for the checks done in an `assert()`. This
code is is currently under the DEBUG build flag.

Assert messages are now only printed if LOG_LEVEL >= LOG_LEVEL_INFO,
which is the default for debug builds.

This patch also updates the User Guide.

Change-Id: I1401530b56bab25561bb0f274529f1d12c5263bc
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/aarch32/debug.S
/rk3399_ARM-atf/common/aarch64/debug.S
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/tzc/tzc400.c
/rk3399_ARM-atf/drivers/arm/tzc/tzc_common_private.h
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/stdlib/assert.h
stdlib/assert.c
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/smmu/smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_platform.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_topology.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/flowctrl.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/mce.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl_v1.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl_v2.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/pmc.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/smmu.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_platform.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/t18x_ari.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/platform_t186.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
bcc3c49c10-Apr-2017 Soby Mathew <soby.mathew@arm.com>

PSCI: Build option to enable D-Caches early in warmboot

This patch introduces a build option to enable D-cache early on the CPU
after warm boot. This is applicable for platforms which do not require

PSCI: Build option to enable D-Caches early in warmboot

This patch introduces a build option to enable D-cache early on the CPU
after warm boot. This is applicable for platforms which do not require
interconnect programming to enable cache coherency (eg: single cluster
platforms). If this option is enabled, then warm boot path enables
D-caches immediately after enabling MMU.

Fixes ARM-Software/tf-issues#456

Change-Id: I44c8787d116d7217837ced3bcf0b1d3441c8d80e
Signed-off-by: Soby Mathew <soby.mathew@arm.com>

show more ...

f07d398512-Apr-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #885 from antonio-nino-diaz-arm/an/console-flush

Implement console_flush()


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2u/bl2u_main.c
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/common/aarch32/debug.S
/rk3399_ARM-atf/common/aarch64/debug.S
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/pl011/aarch32/pl011_console.S
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.mk
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch32/console.S
/rk3399_ARM-atf/drivers/console/aarch32/skeleton_console.S
/rk3399_ARM-atf/drivers/console/aarch64/console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/ep_info.h
/rk3399_ARM-atf/include/common/param_header.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_css_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/soc/common/soc_css_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
psci/psci_system_off.c
stdlib/assert.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_decl.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_stack_protector.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_trng.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_helpers.S
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_helpers.S
/rk3399_ARM-atf/plat/common/aarch32/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/mediatek/common/drivers/uart/8250_console.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl_v1.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl_v2.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/smmu.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t132/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t210/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/mce.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/t18x_ari.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/smmu/smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_trampoline.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/platform_t186.mk
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
51faada724-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 ...

1e09ff9316-Feb-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Remove dead loops in assert() in C and ASM

The desired behaviour is to call `plat_panic_handler()`, and to use
`no_ret` to do so from ASM.

Change-Id: I88b2feefa6e6c8f9bf057fd51ee0d2e9fb551e4f
Signe

Remove dead loops in assert() in C and ASM

The desired behaviour is to call `plat_panic_handler()`, and to use
`no_ret` to do so from ASM.

Change-Id: I88b2feefa6e6c8f9bf057fd51ee0d2e9fb551e4f
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

0b32628e16-Feb-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Flush console where necessary

Call console_flush() before execution either terminates or leaves an
exception level.

Fixes: ARM-software/tf-issues#123

Change-Id: I64eeb92effb039f76937ce89f877b68e35

Flush console where necessary

Call console_flush() before execution either terminates or leaves an
exception level.

Fixes: ARM-software/tf-issues#123

Change-Id: I64eeb92effb039f76937ce89f877b68e355588e3
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

e422f99129-Mar-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #880 from Summer-ARM/sq/tcr-memory-attribution

Add support to change xlat_tables to non-cacheable

ab13990229-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


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2u/bl2u.mk
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
aarch32/cache_helpers.S
aarch32/misc_helpers.S
aarch64/cache_helpers.S
cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_topology.c
/rk3399_ARM-atf/plat/arm/css/common/css_topology.c
/rk3399_ARM-atf/plat/arm/css/drivers/scpi/css_scpi.c
/rk3399_ARM-atf/plat/common/aarch32/platform_up_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/rk3399_ARM-atf/plat/mediatek/mt6795/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_platform.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl_v2.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/smmu.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_platform.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/mce.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/include/t18x_ari.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/aarch64/nvg_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/smmu/smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
5d21b03716-Mar-2017 Summer Qin <summer.qin@arm.com>

Add support to change xlat_tables to non-cacheable

This patch adds an additional flag `XLAT_TABLE_NC` which marks the
translation tables as Non-cacheable for MMU accesses.

Change-Id: I7c28ab87f0ce6

Add support to change xlat_tables to non-cacheable

This patch adds an additional flag `XLAT_TABLE_NC` which marks the
translation tables as Non-cacheable for MMU accesses.

Change-Id: I7c28ab87f0ce67da237fadc3627beb6792860fd4
Signed-off-by: Summer Qin <summer.qin@arm.com>

show more ...

b75dc0e406-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 ...

355a5d0307-Mar-2017 Douglas Raillard <douglas.raillard@arm.com>

Replace ASM signed tests with unsigned

ge, lt, gt and le condition codes in assembly provide a signed test
whereas hs, lo, hi and ls provide the unsigned counterpart. Signed tests
should only be use

Replace ASM signed tests with unsigned

ge, lt, gt and le condition codes in assembly provide a signed test
whereas hs, lo, hi and ls provide the unsigned counterpart. Signed tests
should only be used when strictly necessary, as using them on logically
unsigned values can lead to inverting the test for high enough values.
All offsets, addresses and usually counters are actually unsigned
values, and should be tested as such.

Replace the occurrences of signed condition codes where it was
unnecessary by an unsigned test as the unsigned tests allow the full
range of unsigned values to be used without inverting the result with
some large operands.

Change-Id: I58b7e98d03e3a4476dfb45230311f296d224980a
Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>

show more ...

3944adca18-Mar-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #861 from soby-mathew/sm/aarch32_fixes

Misc AArch32 fixes

510a9de717-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

28ee754d16-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


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/include/lib/aarch32/arch.h
/rk3399_ARM-atf/include/lib/aarch32/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/smcc_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_mmu_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/board/common/v2m_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/soc/common/soc_css_def.h
cpus/aarch64/cortex_a57.S
cpus/cpu-ops.mk
xlat_tables/aarch64/xlat_tables.c
xlat_tables_v2/aarch32/xlat_tables_arch.c
xlat_tables_v2/aarch32/xlat_tables_arch.h
xlat_tables_v2/aarch64/xlat_tables_arch.c
xlat_tables_v2/aarch64/xlat_tables_arch.h
xlat_tables_v2/xlat_tables.mk
xlat_tables_v2/xlat_tables_common.c
xlat_tables_v2/xlat_tables_internal.c
xlat_tables_v2/xlat_tables_private.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/aarch32/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_platform.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/plat_macros.S
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t132/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t210/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_platform.h
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3368/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/services/spd/tlkd/tlkd_main.c
/rk3399_ARM-atf/services/spd/trusty/smcall.h
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/trusty/trusty_helpers.S
/rk3399_ARM-atf/tools/fiptool/fiptool.c
/rk3399_ARM-atf/tools/fiptool/fiptool.h
ccbec91c24-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 ...

0b64f4ef27-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 ...

f10644c513-Feb-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Improve debug output of the translation tables

The printed output has been improved in two ways:

- Whenever multiple invalid descriptors are found, only the first one
is printed, and a line is ad

Improve debug output of the translation tables

The printed output has been improved in two ways:

- Whenever multiple invalid descriptors are found, only the first one
is printed, and a line is added to inform about how many descriptors
have been omitted.

- At the beginning of each line there is an indication of the table
level the entry belongs to. Example of the new output:
`[LV3] VA:0x1000 PA:0x1000 size:0x1000 MEM-RO-S-EXEC`

Change-Id: Ib6f1cd8dbd449452f09258f4108241eb11f8d445
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

7bb01fb208-Mar-2017 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Add version 2 of xlat tables library

The folder lib/xlat_tables_v2 has been created to store a new version
of the translation tables library for further modifications in patches
to follow. At the mo

Add version 2 of xlat tables library

The folder lib/xlat_tables_v2 has been created to store a new version
of the translation tables library for further modifications in patches
to follow. At the moment it only contains a basic implementation that
supports static regions.

This library allows different translation tables to be modified by
using different 'contexts'. For now, the implementation defaults to
the translation tables used by the current image, but it is possible
to modify other tables than the ones in use.

Added a new API to print debug information for the current state of
the translation tables, rather than printing the information while
the tables are being created. This allows subsequent debug printing
of the xlat tables after they have been changed, which will be useful
when dynamic regions are implemented in a patch to follow.

The common definitions stored in `xlat_tables.h` header have been moved
to a new file common to both versions, `xlat_tables_defs.h`.

All headers related to the translation tables library have been moved to
a the subfolder `xlat_tables`.

Change-Id: Ia55962c33e0b781831d43a548e505206dffc5ea9
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_mmu_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_defs.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
xlat_tables_v2/aarch32/xlat_tables_arch.c
xlat_tables_v2/aarch32/xlat_tables_arch.h
xlat_tables_v2/aarch64/xlat_tables_arch.c
xlat_tables_v2/aarch64/xlat_tables_arch.h
xlat_tables_v2/xlat_tables.mk
xlat_tables_v2/xlat_tables_common.c
xlat_tables_v2/xlat_tables_internal.c
xlat_tables_v2/xlat_tables_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/rk3399_mcu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/main.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/rk3399m0.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/stopwatch.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/addressmap_shared.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/bl31_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/dram_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/m0_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/misc_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_bits.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
61531a2714-Feb-2017 Soby Mathew <soby.mathew@arm.com>

AArch32: Fix normal memory bakery compilation

This patch fixes a compilation issue with bakery locks when
PSCI library is compiled with USE_COHERENT_MEM = 0 build option.

Change-Id: Ic7f6cf9f2bb37f

AArch32: Fix normal memory bakery compilation

This patch fixes a compilation issue with bakery locks when
PSCI library is compiled with USE_COHERENT_MEM = 0 build option.

Change-Id: Ic7f6cf9f2bb37f8a946eafbee9cbc3bf0dc7e900
Signed-off-by: Soby Mathew <soby.mathew@arm.com>

show more ...

bea7caff02-Mar-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #853 from vwadekar/tegra-changes-from-downstream-v3

Tegra changes from downstream v3

b0408e8705-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 ...

a10d363206-Jan-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

PSCI: Introduce cache and barrier wrappers

The PSCI implementation performs cache maintenance operations on its
data structures to ensure their visibility to both cache-coherent and
non-cache-cohere

PSCI: Introduce cache and barrier wrappers

The PSCI implementation performs cache maintenance operations on its
data structures to ensure their visibility to both cache-coherent and
non-cache-coherent participants. These cache maintenance operations
can be skipped if all PSCI participants are cache-coherent. When
HW_ASSISTED_COHERENCY build option is enabled, we assume PSCI
participants are cache-coherent.

For usage abstraction, this patch introduces wrappers for PSCI cache
maintenance and barrier operations used for state coordination: they are
effectively NOPs when HW_ASSISTED_COHERENCY is enabled, but are
applied otherwise.

Also refactor local state usage and associated cache operations to make
it clearer.

Change-Id: I77f17a90cba41085b7188c1345fe5731c99fad87
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

3eac92d206-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 ...


cpus/aarch64/denver.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/rk3399_mcu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/main.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/rk3399m0.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/stopwatch.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/addressmap_shared.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/bl31_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/dram_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/m0_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/misc_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_bits.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
c1a2975428-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


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
cpus/cpu-ops.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/memctrl.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/pmusram/pmu_sram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/Makefile
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/include/rk3399_mcu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/dram.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/main.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/rk3399m0.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/stopwatch.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/m0/src/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/m0_ctl.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/pmu/pmu.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/addressmap.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/addressmap_shared.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/bl31_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/dram_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/m0_param.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/misc_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_bits.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/pmu_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c

1...<<81828384858687888990>>...95