History log of /rk3399_ARM-atf/include/arch/ (Results 326 – 350 of 391)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
ccfb5c8110-Mar-2020 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Use Speculation Barrier instruction for v8.5 cores

Change-Id: Ie1018bfbae2fe95c699e58648665baa75e862000
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>


/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/drivers/auth/cryptocell/712/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/dualroot/cot.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
aarch32/asm_macros.S
aarch64/asm_macros.S
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/tools_share/dualroot_oid.h
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/common/protpk/README
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_dev_protpk.S
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protpk_rsa_sha256.bin
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protprivk_rsa.pem
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgi575/sgi575_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgm775/sgm775_trusted_boot.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_fiq_glue.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/pmc.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/security_engine.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/soc/t186/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/se/se_private.h
/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/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/security_engine.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/include/dualroot/cot.h
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.c
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.mk
f9ea3a6211-Mar-2020 Mark Dykes <mardyk01@review.trustedfirmware.org>

Merge "Fix crash dump for lower EL" into integration


/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/aarch64/debug.S
/rk3399_ARM-atf/common/backtrace/backtrace.c
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/cmake_framework.rst
/rk3399_ARM-atf/docs/design_documents/index.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/resources/diagrams/cmake_framework_structure.png
/rk3399_ARM-atf/docs/resources/diagrams/cmake_framework_workflow.png
/rk3399_ARM-atf/drivers/arm/gic/v3/gicdv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicrv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_private.h
/rk3399_ARM-atf/drivers/auth/cryptocell/712/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/dualroot/cot.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
aarch64/arch.h
/rk3399_ARM-atf/include/common/bl_common.ld.h
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/tools_share/dualroot_oid.h
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/common/protpk/README
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_dev_protpk.S
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protpk_rsa_sha256.bin
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protprivk_rsa.pem
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/platform.mk
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgi575/sgi575_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgm775/sgm775_trusted_boot.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgm/sgm-common.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/hi3660.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/platform.mk
/rk3399_ARM-atf/plat/imx/imx8qm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8qx/platform.mk
/rk3399_ARM-atf/plat/marvell/a3700/common/a3700_common.mk
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt8183/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_fiq_glue.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/pmc.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/security_engine.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/soc/t186/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/se/se_private.h
/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/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/security_engine.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/ti/k3/common/plat_common.mk
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/include/dualroot/cot.h
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.c
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.mk
efe30cb109-Mar-2020 Mark Dykes <mardyk01@review.trustedfirmware.org>

Merge "aarch32: stop speculative execution past exception returns" into integration


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/change-log-upcoming.rst
/rk3399_ARM-atf/docs/design/auth-framework.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/tools-build.rst
/rk3399_ARM-atf/docs/plat/qemu.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/cryptocell/712/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
/rk3399_ARM-atf/drivers/io/io_encrypted.c
/rk3399_ARM-atf/fdts/a5ds.dts
aarch32/asm_macros.S
aarch32/smccc_macros.S
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config.h
/rk3399_ARM-atf/include/drivers/io/io_encrypted.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/export/common/tbbr/tbbr_img_def_exp.h
/rk3399_ARM-atf/include/plat/arm/common/fconf_arm_sp_getter.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/spm_core_manifest.h
/rk3399_ARM-atf/include/services/spmd_svc.h
/rk3399_ARM-atf/include/tools_share/firmware_encrypted.h
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_image_load.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_sp.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/common/plat_spmd_manifest.c
/rk3399_ARM-atf/plat/imx/common/aarch32/imx_uart_console.S
/rk3399_ARM-atf/plat/imx/common/imx_uart_console.S
/rk3399_ARM-atf/plat/imx/common/lpuart_console.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/spe/shared_console.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_fiq_glue.c
/rk3399_ARM-atf/plat/qemu/common/qemu_io_storage.c
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/tools/encrypt_fw/Makefile
/rk3399_ARM-atf/tools/encrypt_fw/include/cmd_opt.h
/rk3399_ARM-atf/tools/encrypt_fw/include/debug.h
/rk3399_ARM-atf/tools/encrypt_fw/include/encrypt.h
/rk3399_ARM-atf/tools/encrypt_fw/src/cmd_opt.c
/rk3399_ARM-atf/tools/encrypt_fw/src/encrypt.c
/rk3399_ARM-atf/tools/encrypt_fw/src/main.c
b4292bc603-Mar-2020 Alexei Fedorov <Alexei.Fedorov@arm.com>

Fix crash dump for lower EL

This patch provides a fix for incorrect crash dump data for
lower EL when TF-A is built with HANDLE_EA_EL3_FIRST=1 option
which enables routing of External Aborts and SEr

Fix crash dump for lower EL

This patch provides a fix for incorrect crash dump data for
lower EL when TF-A is built with HANDLE_EA_EL3_FIRST=1 option
which enables routing of External Aborts and SErrors to EL3.

Change-Id: I9d5e6775e6aad21db5b78362da6c3a3d897df977
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>

show more ...

2825946e17-Feb-2020 Max Shvetsov <maksims.svecovs@arm.com>

SPMD: Adds partially supported EL2 registers.

This patch adds EL2 registers that are supported up to ARMv8.6.
ARM_ARCH_MINOR has to specified to enable save/restore routine.

Note: Following registe

SPMD: Adds partially supported EL2 registers.

This patch adds EL2 registers that are supported up to ARMv8.6.
ARM_ARCH_MINOR has to specified to enable save/restore routine.

Note: Following registers are still not covered in save/restore.
* AMEVCNTVOFF0<n>_EL2
* AMEVCNTVOFF1<n>_EL2
* ICH_AP0R<n>_EL2
* ICH_AP1R<n>_EL2
* ICH_LR<n>_EL2

Change-Id: I4813f3243e56e21cb297b31ef549a4b38d4876e1
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>

show more ...

28f39f0225-Feb-2020 Max Shvetsov <maksims.svecovs@arm.com>

SPMD: save/restore EL2 system registers.

NOTE: Not all EL-2 system registers are saved/restored.
This subset includes registers recognized by ARMv8.0

Change-Id: I9993c7d78d8f5f8e72d1c6c8d6fd871283a

SPMD: save/restore EL2 system registers.

NOTE: Not all EL-2 system registers are saved/restored.
This subset includes registers recognized by ARMv8.0

Change-Id: I9993c7d78d8f5f8e72d1c6c8d6fd871283aa3ce0
Signed-off-by: Jose Marinho <jose.marinho@arm.com>
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/change-log-upcoming.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/drivers/allwinner/sunxi_msgbox.c
/rk3399_ARM-atf/drivers/amlogic/console/aarch64/meson_console.S
/rk3399_ARM-atf/drivers/arm/css/scpi/css_scpi.c
/rk3399_ARM-atf/drivers/arm/pl011/aarch32/pl011_console.S
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch32/skeleton_console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/coreboot/cbmem_console/aarch64/cbmem_console.S
/rk3399_ARM-atf/drivers/imx/uart/imx_uart.h
/rk3399_ARM-atf/drivers/marvell/uart/a3700_console.S
/rk3399_ARM-atf/drivers/renesas/rcar/console/rcar_console.S
/rk3399_ARM-atf/drivers/renesas/rcar/scif/scif.S
/rk3399_ARM-atf/drivers/st/uart/aarch32/stm32_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch32/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-2t.dts
aarch64/arch.h
/rk3399_ARM-atf/include/drivers/amlogic/meson_console.h
/rk3399_ARM-atf/include/drivers/arm/pl011.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/coreboot/cbmem_console.h
/rk3399_ARM-atf/include/drivers/marvell/uart/a3700_console.h
/rk3399_ARM-atf/include/drivers/renesas/rcar/console/console.h
/rk3399_ARM-atf/include/drivers/st/stm32_console.h
/rk3399_ARM-atf/include/drivers/ti/uart/uart_16550.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_klein.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_matterhorn.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/fconf/fconf.h
/rk3399_ARM-atf/include/lib/object_pool.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_css_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_klein.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_matterhorn.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/xlat_tables_v2/ro_xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/allwinner-common.mk
/rk3399_ARM-atf/plat/allwinner/common/include/platform_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_bl31_setup.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/amlogic/common/aml_console.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/rddaniel/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rddaniel/platform.mk
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_security.c
/rk3399_ARM-atf/plat/arm/board/sgm775/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_console.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_fconf_io_storage.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl1_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/imx/common/include/imx8_lpuart.h
/rk3399_ARM-atf/plat/imx/common/include/imx_uart.h
/rk3399_ARM-atf/plat/imx/imx7/common/imx7_bl2_el3_common.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/include/imx_rdc.h
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_bl31_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_emac.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_emac.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/platform.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/marvell/common/marvell_console.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/wdt/wdt.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/wdt/wdt.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_sip_calls.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/emi_mpu/emi_mpu.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/intf.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/spe/shared_console.S
/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/spe.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_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_console.c
/rk3399_ARM-atf/plat/renesas/rcar/rcar_common.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/parameter/ddr_parameter.h
/rk3399_ARM-atf/plat/rockchip/common/sp_min_plat_setup.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_common.c
/rk3399_ARM-atf/plat/socionext/synquacer/sq_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console.S
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_soc_info.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/ti/k3/common/k3_console.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/tools/memory/print_memory_map.py
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
6bc2438226-Feb-2020 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

aarch32: stop speculative execution past exception returns

aarch32 CPUs speculatively execute instructions following a
ERET as if it was not a jump instruction. This could lead to
cache-based side c

aarch32: stop speculative execution past exception returns

aarch32 CPUs speculatively execute instructions following a
ERET as if it was not a jump instruction. This could lead to
cache-based side channel vulnerabilities. The software fix is
to place barrier instructions following ERET.

The counterpart patch for aarch64 is merged:
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=f461fe346b728d0e88142fd7b8f2816415af18bc

Change-Id: I2aa3105bee0b92238f389830b3a3b8650f33af3d
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_exceptions.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/docs/change-log-upcoming.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/drivers/allwinner/sunxi_msgbox.c
/rk3399_ARM-atf/drivers/amlogic/console/aarch64/meson_console.S
/rk3399_ARM-atf/drivers/arm/css/scpi/css_scpi.c
/rk3399_ARM-atf/drivers/arm/pl011/aarch32/pl011_console.S
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch32/skeleton_console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/coreboot/cbmem_console/aarch64/cbmem_console.S
/rk3399_ARM-atf/drivers/imx/uart/imx_uart.h
/rk3399_ARM-atf/drivers/marvell/uart/a3700_console.S
/rk3399_ARM-atf/drivers/renesas/rcar/console/rcar_console.S
/rk3399_ARM-atf/drivers/renesas/rcar/scif/scif.S
/rk3399_ARM-atf/drivers/st/uart/aarch32/stm32_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch32/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-2t.dts
aarch32/asm_macros.S
aarch32/smccc_macros.S
/rk3399_ARM-atf/include/drivers/amlogic/meson_console.h
/rk3399_ARM-atf/include/drivers/arm/pl011.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/coreboot/cbmem_console.h
/rk3399_ARM-atf/include/drivers/marvell/uart/a3700_console.h
/rk3399_ARM-atf/include/drivers/renesas/rcar/console/console.h
/rk3399_ARM-atf/include/drivers/st/stm32_console.h
/rk3399_ARM-atf/include/drivers/ti/uart/uart_16550.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_klein.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_matterhorn.h
/rk3399_ARM-atf/include/lib/fconf/fconf.h
/rk3399_ARM-atf/include/lib/object_pool.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_css_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_klein.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_matterhorn.S
/rk3399_ARM-atf/lib/xlat_tables_v2/ro_xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/allwinner-common.mk
/rk3399_ARM-atf/plat/allwinner/common/include/platform_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_bl31_setup.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/include/sunxi_mmap.h
/rk3399_ARM-atf/plat/amlogic/common/aml_console.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/rddaniel/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rddaniel/platform.mk
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_security.c
/rk3399_ARM-atf/plat/arm/board/sgm775/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_console.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_fconf_io_storage.c
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/common/tsp/arm_tsp_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl1_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/imx/common/include/imx8_lpuart.h
/rk3399_ARM-atf/plat/imx/common/include/imx_uart.h
/rk3399_ARM-atf/plat/imx/imx7/common/imx7_bl2_el3_common.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/include/imx_rdc.h
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_bl31_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_emac.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_emac.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/platform.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/marvell/common/marvell_console.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/wdt/wdt.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/wdt/wdt.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_sip_calls.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/emi_mpu/emi_mpu.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/intf.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/spe/shared_console.S
/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/spe.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_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_console.c
/rk3399_ARM-atf/plat/renesas/rcar/rcar_common.c
/rk3399_ARM-atf/plat/rockchip/common/bl31_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/drivers/parameter/ddr_parameter.h
/rk3399_ARM-atf/plat/rockchip/common/sp_min_plat_setup.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_common.c
/rk3399_ARM-atf/plat/socionext/synquacer/sq_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console.S
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_soc_info.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/ti/k3/common/k3_console.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/tools/memory/print_memory_map.py
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
30f3100528-Jan-2020 Yann Gautier <yann.gautier@st.com>

el3_entrypoint_common: avoid overwriting arg3

At each BL entry point, the registers r9 to r12 are used to save info from
the previous BL parameters put in r0 to r3. But zeromem uses r12, leading
to

el3_entrypoint_common: avoid overwriting arg3

At each BL entry point, the registers r9 to r12 are used to save info from
the previous BL parameters put in r0 to r3. But zeromem uses r12, leading
to a corruption of arg3. Therefore this change copies r12 to r7 before
zeromem() call and restores r12 afterwards. It may be better to save it
in r7 in el3_arch_init_common and not at the entrypoint as r7 could be used
in other functions, especially platform ones.
This is a fix for Task T661.

Change-Id: Icc11990c69b5d4c542d08aca1a77b1f754b61a53
Signed-off-by: Yann Gautier <yann.gautier@st.com>

show more ...

dd4f088518-Jun-2018 Varun Wadekar <vwadekar@nvidia.com>

Tegra: delay_timer: support for physical secure timer

This patch modifies the delay timer driver to switch to the ARM
secure physical timer instead of using Tegra's on-chip uS timer.

The secure tim

Tegra: delay_timer: support for physical secure timer

This patch modifies the delay timer driver to switch to the ARM
secure physical timer instead of using Tegra's on-chip uS timer.

The secure timer is not accessible to the NS world and so eliminates
an important attack vector, where the Tegra timer source gets switched
off from the NS world leading to a DoS attack for the trusted world.

This timer is shared with the S-EL1 layer for now, but later patches
will mark it as exclusive to the EL3 exception mode.

Change-Id: I2c00f8cb4c48b25578971c626c314603906ad7cc
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_context_mgmt.c
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl1/bl1_private.h
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/desc_image_load.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/debugfs-design.rst
/rk3399_ARM-atf/docs/components/exception-handling.rst
/rk3399_ARM-atf/docs/components/fconf.rst
/rk3399_ARM-atf/docs/components/index.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot-build.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/global_substitutions.txt
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/perf/index.rst
/rk3399_ARM-atf/docs/perf/performance-monitoring-unit.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/meson-axg.rst
/rk3399_ARM-atf/docs/process/coding-guidelines.rst
/rk3399_ARM-atf/docs/process/coding-style.rst
/rk3399_ARM-atf/docs/process/contributing.rst
/rk3399_ARM-atf/docs/process/index.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml
/rk3399_ARM-atf/drivers/arm/css/mhu/css_mhu_doorbell.c
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/tbbr/tbbr_cot.c
/rk3399_ARM-atf/drivers/cfi/v2m/v2m_flash.c
/rk3399_ARM-atf/drivers/console/multi_console.c
/rk3399_ARM-atf/drivers/delay_timer/generic_delay_timer.c
/rk3399_ARM-atf/drivers/marvell/mochi/cp110_setup.c
/rk3399_ARM-atf/drivers/renesas/rcar/board/board.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/init_dram_tbl_m3n.h
/rk3399_ARM-atf/fdts/corstone700.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-common.dtsi
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-2t.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-common.dtsi
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq.dts
aarch64/arch.h
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/drivers/arm/css/css_mhu_doorbell.h
/rk3399_ARM-atf/include/drivers/arm/css/scmi.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/drivers/marvell/mochi/cp110_setup.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a57.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch32/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/fconf/fconf.h
/rk3399_ARM-atf/include/lib/fconf/fconf_dyn_cfg_getter.h
/rk3399_ARM-atf/include/lib/fconf/fconf_tbbr_getter.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_dyn_cfg_helpers.h
/rk3399_ARM-atf/include/plat/arm/common/arm_fconf_getter.h
/rk3399_ARM-atf/include/plat/arm/common/arm_fconf_io_storage.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_pm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/spci_svc.h
/rk3399_ARM-atf/include/services/spm_core_manifest.h
/rk3399_ARM-atf/include/services/spmd_svc.h
/rk3399_ARM-atf/include/tools_share/sptool.h
/rk3399_ARM-atf/include/tools_share/uuid.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/fconf/fconf.c
/rk3399_ARM-atf/lib/fconf/fconf.mk
/rk3399_ARM-atf/lib/fconf/fconf_dyn_cfg_getter.c
/rk3399_ARM-atf/lib/fconf/fconf_tbbr_getter.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/utils/mem_region.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amlogic/axg/axg_bl31_setup.c
/rk3399_ARM-atf/plat/amlogic/axg/axg_common.c
/rk3399_ARM-atf/plat/amlogic/axg/axg_def.h
/rk3399_ARM-atf/plat/amlogic/axg/axg_pm.c
/rk3399_ARM-atf/plat/amlogic/axg/include/platform_def.h
/rk3399_ARM-atf/plat/amlogic/axg/platform.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/fdts/a5ds_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_dev_rotpk.S
/rk3399_ARM-atf/plat/arm/board/corstone700/corstone700_plat.c
/rk3399_ARM-atf/plat/arm/board/corstone700/corstone700_stack_protector.c
/rk3399_ARM-atf/plat/arm/board/corstone700/corstone700_topology.c
/rk3399_ARM-atf/plat/arm/board/corstone700/drivers/mhu/mhu.c
/rk3399_ARM-atf/plat/arm/board/corstone700/drivers/mhu/mhu.h
/rk3399_ARM-atf/plat/arm/board/corstone700/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/corstone700/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone700/sp_min/sp_min-corstone700.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_io_storage.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp_ve/fdts/fvp_ve_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp_ve/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl1_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_topology.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rddaniel/fdts/rddaniel_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rddaniel/fdts/rddaniel_nt_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rddaniel/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rddaniel/platform.mk
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_err.c
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_plat.c
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_security.c
/rk3399_ARM-atf/plat/arm/board/rddaniel/rddaniel_topology.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/fdts/rde1edge_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rde1edge/fdts/rde1edge_nt_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rde1edge/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rde1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_plat.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_topology.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/fdts/rdn1edge_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rdn1edge/fdts/rdn1edge_nt_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/rdn1edge/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_plat.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_topology.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgi575/fdts/sgi575_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/sgi575/fdts/sgi575_nt_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/sgi575/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/sgi575/platform.mk
/rk3399_ARM-atf/plat/arm/board/sgi575/sgi575_plat.c
/rk3399_ARM-atf/plat/arm/board/sgi575/sgi575_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/sgm775/fdts/sgm775_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/sgm775/platform.mk
/rk3399_ARM-atf/plat/arm/board/sgm775/sgm775_trusted_boot.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/common/arm_fconf_io_storage.c
/rk3399_ARM-atf/plat/arm/common/arm_io_storage.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/css/sgi/aarch64/sgi_helper.S
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_plat.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_variant.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_image_load.c
/rk3399_ARM-atf/plat/arm/css/sgm/include/sgm_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgm/sgm_bl31_setup.c
/rk3399_ARM-atf/plat/common/plat_psci_common.c
/rk3399_ARM-atf/plat/common/plat_spmd_manifest.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_handoff.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/marvell/a8k/common/mss/mss_a8k.mk
/rk3399_ARM-atf/plat/marvell/a8k/common/mss/mss_bl2_setup.c
/rk3399_ARM-atf/plat/marvell/common/mss/mss_scp_bl2_format.h
/rk3399_ARM-atf/plat/marvell/common/mss/mss_scp_bootloader.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/intf.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/intf.h
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/ivc.h
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.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_delay_timer.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/t132/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t186/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/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/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/platform_t132.mk
/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/platform_t186.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/include/rcar_version.h
/rk3399_ARM-atf/plat/socionext/synquacer/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/tsp/uniphier_tsp_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_boot_device.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_emmc.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_nand.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_psci.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_xlat_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/services/spd/trusty/generic-arm64-smcall.c
/rk3399_ARM-atf/services/spd/trusty/generic-arm64-smcall.h
/rk3399_ARM-atf/services/spd/trusty/trusty.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/aarch64/spmd_helpers.S
/rk3399_ARM-atf/services/std_svc/spmd/spmd.mk
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/sptool/sptool.c
68c7608806-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 ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/tbbr/tbbr_img_desc.c
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_image_load_v2.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31_context_mgmt.c
/rk3399_ARM-atf/bl31/interrupt_mgmt.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/backtrace/backtrace.c
/rk3399_ARM-atf/common/fdt_wrappers.c
/rk3399_ARM-atf/docs/change-log-upcoming.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/plat/qemu.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal.rst
/rk3399_ARM-atf/drivers/arm/ccn/ccn.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/auth/crypto_mod.c
/rk3399_ARM-atf/drivers/auth/img_parser_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/fdt_wrappers.h
/rk3399_ARM-atf/include/drivers/auth/crypto_mod.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n1.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/semihosting.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/debugfs/devfip.c
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/cpu_data.S
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_coherent.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/romlib/jmptbl.i
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_err.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/juno/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/juno/juno_err.c
/rk3399_ARM-atf/plat/arm/board/rde1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/rde1edge/rde1edge_topology.c
/rk3399_ARM-atf/plat/arm/board/rdn1edge/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn1edge/rdn1edge_topology.c
/rk3399_ARM-atf/plat/arm/board/sgi575/platform.mk
/rk3399_ARM-atf/plat/arm/board/sgi575/sgi575_topology.c
/rk3399_ARM-atf/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/aarch64/execution_state_switch.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/arm/common/arm_nor_psci_mem_protect.c
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_topology.c
/rk3399_ARM-atf/plat/arm/css/sgm/sgm-common.mk
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx7/picopi/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx7/warp7/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qm/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qx/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_memory_controller.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_reset_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_reset_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_system_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_memory_controller.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/platform.mk
/rk3399_ARM-atf/plat/intel/soc/stratix10/soc/s10_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/soc/s10_memory_controller.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/platform_def.h
/rk3399_ARM-atf/plat/marvell/a3700/common/include/platform_def.h
/rk3399_ARM-atf/plat/marvell/a8k/common/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt6795/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/intf.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/bpmp_ipc/ivc.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_mc_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_trampoline.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/qemu/common/aarch32/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/common/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_gicv2.c
/rk3399_ARM-atf/plat/qemu/common/qemu_gicv3.c
/rk3399_ARM-atf/plat/qemu/common/qemu_pm.c
/rk3399_ARM-atf/plat/qemu/common/qemu_private.h
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/px30/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3288/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3328/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/synquacer/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/synquacer/sq_psci.c
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/tsp/uniphier_tsp_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl2_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_emmc.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_image_desc.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_io_storage.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_nand.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_scp.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_usb.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_xlat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_boot_device.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/ti/k3/board/generic/include/board_def.h
/rk3399_ARM-atf/plat/ti/k3/common/drivers/ti_sci/ti_sci.c
/rk3399_ARM-atf/plat/ti/k3/common/drivers/ti_sci/ti_sci_protocol.h
/rk3399_ARM-atf/plat/ti/k3/common/k3_psci.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/src/ext.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbbr.mk
f461fe3407-Jan-2020 Anthony Steinhauser <asteinhauser@google.com>

Prevent speculative execution past ERET

Even though ERET always causes a jump to another address, aarch64 CPUs
speculatively execute following instructions as if the ERET
instruction was not a jump

Prevent speculative execution past ERET

Even though ERET always causes a jump to another address, aarch64 CPUs
speculatively execute following instructions as if the ERET
instruction was not a jump instruction.
The speculative execution does not cross privilege-levels (to the jump
target as one would expect), but it continues on the kernel privilege
level as if the ERET instruction did not change the control flow -
thus execution anything that is accidentally linked after the ERET
instruction. Later, the results of this speculative execution are
always architecturally discarded, however they can leak data using
microarchitectural side channels. This speculative execution is very
reliable (seems to be unconditional) and it manages to complete even
relatively performance-heavy operations (e.g. multiple dependent
fetches from uncached memory).

This was fixed in Linux, FreeBSD, OpenBSD and Optee OS:
https://github.com/torvalds/linux/commit/679db70801da9fda91d26caf13bf5b5ccc74e8e8
https://github.com/freebsd/freebsd/commit/29fb48ace4186a41c409fde52bcf4216e9e50b61
https://github.com/openbsd/src/commit/3a08873ece1cb28ace89fd65e8f3c1375cc98de2
https://github.com/OP-TEE/optee_os/commit/abfd092aa19f9c0251e3d5551e2d68a9ebcfec8a

It is demonstrated in a SafeSide example:
https://github.com/google/safeside/blob/master/demos/eret_hvc_smc_wrapper.cc
https://github.com/google/safeside/blob/master/kernel_modules/kmod_eret_hvc_smc/eret_hvc_smc_module.c

Signed-off-by: Anthony Steinhauser <asteinhauser@google.com>
Change-Id: Iead39b0b9fb4b8d8b5609daaa8be81497ba63a0f

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_exceptions.S
/rk3399_ARM-atf/common/fdt_fixup.c
/rk3399_ARM-atf/docs/change-log-upcoming.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/initial-build.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/rpi4.rst
/rk3399_ARM-atf/docs/plat/stm32mp1.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/arm/scu/scu.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/intel/soc/stratix10/io/s10_memmap_qspi.c
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/drivers/io/io_mtd.c
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/drivers/io/io_storage.c
/rk3399_ARM-atf/drivers/mtd/nand/core.c
/rk3399_ARM-atf/drivers/mtd/nand/raw_nand.c
/rk3399_ARM-atf/drivers/mtd/nand/spi_nand.c
/rk3399_ARM-atf/drivers/mtd/nor/spi_nor.c
/rk3399_ARM-atf/drivers/mtd/spi-mem/spi_mem.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/boot_init_dram.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr.mk
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_a/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_a/ddr_a.mk
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_a/ddr_init_d3.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_a/ddr_init_e3.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_a/ddr_init_v3m.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/ddr_b.mk
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/ddr_regdef.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/init_dram_tbl_h3.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/init_dram_tbl_h3ver2.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/init_dram_tbl_m3.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_b/init_dram_tbl_m3n.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/ddr_regs.h
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/dram_sub_func.c
/rk3399_ARM-atf/drivers/renesas/rcar/ddr/dram_sub_func.h
/rk3399_ARM-atf/drivers/renesas/rcar/io/io_emmcdrv.c
/rk3399_ARM-atf/drivers/renesas/rcar/io/io_memdrv.c
/rk3399_ARM-atf/drivers/renesas/rcar/io/io_rcar.c
/rk3399_ARM-atf/drivers/st/fmc/stm32_fmc2_nand.c
/rk3399_ARM-atf/drivers/st/io/io_mmc.c
/rk3399_ARM-atf/drivers/st/spi/stm32_qspi.c
/rk3399_ARM-atf/drivers/ti/uart/aarch32/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/fdts/a5ds.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci-aarch32.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-1t.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32-1t.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32-common.dtsi
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-common.dtsi
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-2t.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-ve-Cortex-A5x1.dts
/rk3399_ARM-atf/fdts/fvp-ve-Cortex-A7x1.dts
/rk3399_ARM-atf/fdts/stm32mp157-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp157c-ev1.dts
aarch64/asm_macros.S
/rk3399_ARM-atf/include/drivers/arm/scu.h
/rk3399_ARM-atf/include/drivers/io/io_driver.h
/rk3399_ARM-atf/include/drivers/io/io_mtd.h
/rk3399_ARM-atf/include/drivers/io/io_storage.h
/rk3399_ARM-atf/include/drivers/nand.h
/rk3399_ARM-atf/include/drivers/raw_nand.h
/rk3399_ARM-atf/include/drivers/spi_mem.h
/rk3399_ARM-atf/include/drivers/spi_nand.h
/rk3399_ARM-atf/include/drivers/spi_nor.h
/rk3399_ARM-atf/include/drivers/st/io_stm32image.h
/rk3399_ARM-atf/include/drivers/st/stm32_fmc2_nand.h
/rk3399_ARM-atf/include/drivers/st/stm32_qspi.h
/rk3399_ARM-atf/include/drivers/ti/uart/uart_16550.h
/rk3399_ARM-atf/include/export/lib/utils_def_exp.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_hercules.h
/rk3399_ARM-atf/include/lib/pmf/pmf.h
/rk3399_ARM-atf/include/lib/pmf/pmf_helpers.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/plat/marvell/a8k/common/armada_common.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/arm/aeabi_ldivmod.S
/rk3399_ARM-atf/lib/compiler-rt/builtins/divdi3.c
/rk3399_ARM-atf/lib/compiler-rt/builtins/divmoddi4.c
/rk3399_ARM-atf/lib/compiler-rt/builtins/popcountdi2.c
/rk3399_ARM-atf/lib/compiler-rt/builtins/popcountsi2.c
/rk3399_ARM-atf/lib/compiler-rt/compiler-rt.mk
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_hercules.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2017_5715_mmu.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/allwinner/common/allwinner-common.mk
/rk3399_ARM-atf/plat/allwinner/common/include/platform_def.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/arm/board/a5ds/a5ds_common.c
/rk3399_ARM-atf/plat/arm/board/a5ds/a5ds_pm.c
/rk3399_ARM-atf/plat/arm/board/a5ds/fdts/a5ds_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/a5ds/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/a5ds/sp_min/a5ds_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/a5ds/sp_min/sp_min-a5ds.mk
/rk3399_ARM-atf/plat/arm/board/corstone700/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp_ve/fvp_ve_def.h
/rk3399_ARM-atf/plat/arm/board/fvp_ve/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_def.h
/rk3399_ARM-atf/plat/arm/board/rde1edge/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn1edge/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/sgi575/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/sgm775/include/platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgm/include/sgm_base_platform_def.h
/rk3399_ARM-atf/plat/common/plat_psci_common.c
/rk3399_ARM-atf/plat/imx/common/plat_imx8_gic.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/include/imx8m_psci.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_memory_controller.c
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/intel/soc/common/drivers/qspi/cadence_qspi.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_reset_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_image_load.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/soc/s10_memory_controller.c
/rk3399_ARM-atf/plat/marvell/a8k/common/a8k_common.mk
/rk3399_ARM-atf/plat/marvell/a8k/common/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/bpmp_ipc.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/gpcdma.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/security_engine.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/tegra_gic.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/lib/profiler.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra194_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_mc_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/se.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/drivers/se/security_engine.c
/rk3399_ARM-atf/plat/renesas/rcar/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_mem_params_desc.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rpi/common/rpi3_pm.c
/rk3399_ARM-atf/plat/rpi/rpi4/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi/rpi4/include/rpi_hw.h
/rk3399_ARM-atf/plat/rpi/rpi4/rpi4_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_image_desc.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_psci.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/include/stm32mp_dt.h
/rk3399_ARM-atf/plat/st/common/stm32mp_dt.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/boot_api.h
/rk3399_ARM-atf/plat/st/stm32mp1/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/include/stm32mp1_boot_device.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_boot_device.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_client.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_node.h
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/services/std_svc/spm_mm/aarch64/spm_mm_shim_exceptions.S
/rk3399_ARM-atf/tools/cert_create/src/cert.c
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
f8578e6418-Oct-2018 Samuel Holland <samuel@sholland.org>

bl31: Split into two separate memory regions

Some platforms are extremely memory constrained and must split BL31
between multiple non-contiguous areas in SRAM. Allow the NOBITS
sections (.bss, stack

bl31: Split into two separate memory regions

Some platforms are extremely memory constrained and must split BL31
between multiple non-contiguous areas in SRAM. Allow the NOBITS
sections (.bss, stacks, page tables, and coherent memory) to be placed
in a separate region of RAM from the loaded firmware image.

Because the NOBITS region may be at a lower address than the rest of
BL31, __RW_{START,END}__ and __BL31_{START,END}__ cannot include this
region, or el3_entrypoint_common would attempt to invalidate the dcache
for the entire address space. New symbols __NOBITS_{START,END}__ are
added when SEPARATE_NOBITS_REGION is enabled, and the dcached for the
NOBITS region is invalidated separately.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: Idedfec5e4dbee77e94f2fdd356e6ae6f4dc79d37

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/arm-sip-service.rst
/rk3399_ARM-atf/docs/components/debugfs-design.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/drivers/allwinner/axp/axp803.c
/rk3399_ARM-atf/drivers/allwinner/axp/axp805.c
/rk3399_ARM-atf/drivers/allwinner/axp/common.c
/rk3399_ARM-atf/drivers/auth/cryptocell/712/cryptocell_crypto.c
/rk3399_ARM-atf/drivers/auth/cryptocell/cryptocell_crypto.mk
/rk3399_ARM-atf/drivers/marvell/comphy/phy-comphy-3700.c
/rk3399_ARM-atf/fdts/a5ds.dts
aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/allwinner/axp.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/712/rsa.h
/rk3399_ARM-atf/include/drivers/arm/cryptocell/712/secureboot_gen_defs.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a72.h
/rk3399_ARM-atf/include/lib/debugfs.h
/rk3399_ARM-atf/include/lib/libc/stdint.h
/rk3399_ARM-atf/include/lib/pmf/aarch32/pmf_asm_macros.S
/rk3399_ARM-atf/include/lib/pmf/aarch64/pmf_asm_macros.S
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_sip_svc.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/spm_mm_partition.h
/rk3399_ARM-atf/include/services/spm_mm_svc.h
/rk3399_ARM-atf/lib/debugfs/blobs.h
/rk3399_ARM-atf/lib/debugfs/debugfs.mk
/rk3399_ARM-atf/lib/debugfs/debugfs_smc.c
/rk3399_ARM-atf/lib/debugfs/dev.c
/rk3399_ARM-atf/lib/debugfs/dev.h
/rk3399_ARM-atf/lib/debugfs/devc.c
/rk3399_ARM-atf/lib/debugfs/devfip.c
/rk3399_ARM-atf/lib/debugfs/devroot.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/allwinner-common.mk
/rk3399_ARM-atf/plat/allwinner/common/include/sunxi_private.h
/rk3399_ARM-atf/plat/allwinner/common/sunxi_common.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_cpu_ops.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_pm.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/platform.mk
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/sunxi_power.c
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/platform.mk
/rk3399_ARM-atf/plat/allwinner/sun50i_h6/sunxi_power.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_ehf.c
/rk3399_ARM-atf/plat/arm/common/aarch64/execution_state_switch.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_ras.c
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_private.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.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/scat/bl31.scat
/rk3399_ARM-atf/plat/rockchip/px30/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/px30/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/px30/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/px30/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/px30/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/px30/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/px30/platform.mk
/rk3399_ARM-atf/plat/rockchip/px30/px30_def.h
/rk3399_ARM-atf/plat/rockchip/rk3288/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3328/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
/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/pmu/pmu_fw.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/socionext/synquacer/sq_bl31_setup.c
/rk3399_ARM-atf/plat/socionext/synquacer/sq_spm.c
/rk3399_ARM-atf/services/std_svc/spm_mm/aarch64/spm_mm_helpers.S
/rk3399_ARM-atf/services/std_svc/spm_mm/aarch64/spm_mm_shim_exceptions.S
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm.mk
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm_private.h
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm_setup.c
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm_shim_private.h
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_mm_xlat.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
2bcc672f13-Dec-2019 Olivier Deprez <olivier.deprez@arm.com>

Merge changes from topic "aa/sel2_support" into integration

* changes:
S-EL2 Support: Check for AArch64
Add support for enabling S-EL2


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/docs/plat/nvidia-tegra.rst
/rk3399_ARM-atf/drivers/arm/sbsa/sbsa.c
aarch64/arch.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stdio_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stdio_.h
/rk3399_ARM-atf/include/lib/libc/stddef.h
/rk3399_ARM-atf/include/lib/libc/stdint.h
/rk3399_ARM-atf/include/lib/libc/stdio.h
/rk3399_ARM-atf/include/lib/libc/stdlib.h
/rk3399_ARM-atf/include/lib/libc/string.h
/rk3399_ARM-atf/include/lib/libc/time.h
/rk3399_ARM-atf/include/plat/arm/common/arm_reclaim_init.ld.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/libc/libc.mk
/rk3399_ARM-atf/lib/libc/memrchr.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/plat/allwinner/sun50i_a64/sunxi_power.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/plat.ld.S
/rk3399_ARM-atf/plat/arm/common/arm_dyn_cfg.c
/rk3399_ARM-atf/plat/imx/common/include/imx_caam.h
/rk3399_ARM-atf/plat/imx/common/include/imx_snvs.h
/rk3399_ARM-atf/plat/imx/common/include/sci/sci_ipc.h
/rk3399_ARM-atf/plat/imx/common/sci/ipc.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_mc_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_trampoline.S
/rk3399_ARM-atf/tools/memory/print_memory_map.py
da90359b26-Nov-2019 Manish Pandey <manish.pandey2@arm.com>

PIE: make call to GDT relocation fixup generalized

When a Firmware is complied as Position Independent Executable it needs
to request GDT fixup by passing size of the memory region to
el3_entrypoint

PIE: make call to GDT relocation fixup generalized

When a Firmware is complied as Position Independent Executable it needs
to request GDT fixup by passing size of the memory region to
el3_entrypoint_common macro.
The Global descriptor table fixup will be done early on during cold boot
process of primary core.

Currently only BL31 supports PIE, but in future when BL2_AT_EL3 will be
compiled as PIE, it can simply pass fixup size to the common el3
entrypoint macro to fixup GDT.

The reason for this patch was to overcome the bug introduced by SHA
330ead806 which called fixup routine for each core causing
re-initializing of global pointers thus overwriting any changes
done by the previous core.

Change-Id: I55c792cc3ea9e7eef34c2e4653afd04572c4f055
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/docs/components/romlib-design.rst
/rk3399_ARM-atf/docs/design/alt-boot-flows.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/index.rst
/rk3399_ARM-atf/docs/design/reset-design.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot-build.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/getting_started/initial-build.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/getting_started/tools-build.rst
/rk3399_ARM-atf/docs/perf/index.rst
/rk3399_ARM-atf/docs/perf/tsp.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp-ve/index.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/arm/index.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/marvell/build.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/process/contributing.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/drivers/mentor/i2c/mi2cv.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram.c
aarch64/el3_common_macros.S
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_pinmux.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ccu/ncore_ccu.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/qspi/cadence_qspi.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/wdt/watchdog.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_handoff.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_private.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_handoff.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_storage.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_pinmux.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/plat_psci.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/plat_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/platform.mk
/rk3399_ARM-atf/plat/intel/soc/stratix10/soc/s10_clock_manager.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/spe.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra194_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/se.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/aarch64/nvg_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_trampoline.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/px30/px30_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/boot_api.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_main.c
db3ae85326-Nov-2019 Artsem Artsemenka <artsem.artsemenka@arm.com>

S-EL2 Support: Check for AArch64

Check that entry point information requesting S-EL2
has AArch64 as an execution state during context setup.

Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.

S-EL2 Support: Check for AArch64

Check that entry point information requesting S-EL2
has AArch64 as an execution state during context setup.

Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Change-Id: I447263692fed6e55c1b076913e6eb73b1ea735b7

show more ...

0376e7c411-Oct-2019 Achin Gupta <achin.gupta@arm.com>

Add support for enabling S-EL2

This patch adds support for enabling S-EL2 if this EL is specified in the entry
point information being used to initialise a secure context. It is the caller's
respons

Add support for enabling S-EL2

This patch adds support for enabling S-EL2 if this EL is specified in the entry
point information being used to initialise a secure context. It is the caller's
responsibility to check if S-EL2 is available on the system before requesting
this EL through the entry point information.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Change-Id: I2752964f078ab528b2e80de71c7d2f35e60569e1

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/components/romlib-design.rst
/rk3399_ARM-atf/docs/design/alt-boot-flows.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/index.rst
/rk3399_ARM-atf/docs/design/reset-design.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot-build.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/getting_started/initial-build.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/getting_started/tools-build.rst
/rk3399_ARM-atf/docs/perf/index.rst
/rk3399_ARM-atf/docs/perf/tsp.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp-ve/index.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/arm/index.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/marvell/build.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/process/contributing.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/drivers/mentor/i2c/mi2cv.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram.c
aarch64/arch.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/spe.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra194_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/se.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/aarch64/nvg_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/se/se_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_memctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_smmu.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_trampoline.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_setup.c
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3399/drivers/dram/dfs.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/boot_api.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/services/std_svc/spm_mm/spm_main.c
e34cc0ce10-Nov-2019 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Changes to support updated register usage in SMCCC v1.2

From AArch64 state, arguments are passed in registers W0-W7(X0-X7)
and results are returned in W0-W7(X0-X7) for SMC32(SMC64) calls.
From AArch

Changes to support updated register usage in SMCCC v1.2

From AArch64 state, arguments are passed in registers W0-W7(X0-X7)
and results are returned in W0-W7(X0-X7) for SMC32(SMC64) calls.
From AArch32 state, arguments are passed in registers R0-R7 and
results are returned in registers R0-R7 for SMC32 calls.

Most of the functions and macros already existed to support using
upto 8 registers for passing/returning parameters/results. Added
few helper macros for SMC calls from AArch32 state.

Link to the specification:
https://developer.arm.com/docs/den0028/c

Change-Id: I87976b42454dc3fc45c8343e9640aa78210e9741
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>

show more ...


/rk3399_ARM-atf/.editorconfig
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/about/acknowledgements.rst
/rk3399_ARM-atf/docs/about/contact.rst
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/about/index.rst
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/change-log.rst
/rk3399_ARM-atf/docs/components/arm-sip-service.rst
/rk3399_ARM-atf/docs/components/exception-handling.rst
/rk3399_ARM-atf/docs/components/firmware-update.rst
/rk3399_ARM-atf/docs/components/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/components/ras.rst
/rk3399_ARM-atf/docs/components/romlib-design.rst
/rk3399_ARM-atf/docs/components/sdei.rst
/rk3399_ARM-atf/docs/components/xlat-tables-lib-v2-design.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/design/auth-framework.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/design/reset-design.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/getting_started/image-terminology.rst
/rk3399_ARM-atf/docs/getting_started/index.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/psci-lib-integration-guide.rst
/rk3399_ARM-atf/docs/getting_started/rt-svc-writers-guide.rst
/rk3399_ARM-atf/docs/getting_started/user-guide.rst
/rk3399_ARM-atf/docs/global_substitutions.txt
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/license.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/marvell/porting.rst
/rk3399_ARM-atf/docs/plat/meson-g12a.rst
/rk3399_ARM-atf/docs/plat/qemu-sbsa.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/process/coding-guidelines.rst
/rk3399_ARM-atf/docs/process/contributing.rst
/rk3399_ARM-atf/docs/process/faq.rst
/rk3399_ARM-atf/docs/process/index.rst
/rk3399_ARM-atf/docs/process/platform-compatibility-policy.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/docs/process/security.rst
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/io_dev_init_and_check.puml
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/io_dev_registration.puml
/rk3399_ARM-atf/docs/resources/diagrams/plantuml/io_framework_usage_overview.puml
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-5.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-6.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip_private.h
/rk3399_ARM-atf/drivers/arm/pl011/aarch32/pl011_console.S
/rk3399_ARM-atf/drivers/arm/smmu/smmu_v3.c
/rk3399_ARM-atf/drivers/delay_timer/delay_timer.c
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-dynamiq-2t.dts
aarch32/smccc_helpers.h
/rk3399_ARM-atf/include/drivers/arm/gic600_multichip.h
/rk3399_ARM-atf/include/drivers/delay_timer.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n1.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/stack_protector/stack_protector.mk
/rk3399_ARM-atf/lib/xlat_tables/aarch32/nonlpae_tables.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
/rk3399_ARM-atf/license.rst
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/aarch64/n1sdp_helper.S
/rk3399_ARM-atf/plat/arm/board/n1sdp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_def.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_plat.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_topology.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_topology.c
/rk3399_ARM-atf/plat/marvell/a8k/common/ble/ble.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/include/mt_gic_v3.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_mt_gic.c
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_pm.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/t194/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/mce_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/memctrl_plat_config.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/smmu_plat_config.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/include/t194_nvg.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/aarch64/nvg_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/mce.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/drivers/mce/nvg.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/plat_trampoline.S
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t194/platform_t194.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/ti/k3/common/plat_common.mk
/rk3399_ARM-atf/readme.rst
2a7adf2503-Oct-2019 Petre-Ionut Tudor <petre-ionut.tudor@arm.com>

Explicitly disable the SPME bit in MDCR_EL3

Currently the MDCR_EL3 initialisation implicitly disables
MDCR_EL3.SPME by using mov_imm.

This patch makes the SPME bit more visible by explicitly
disabl

Explicitly disable the SPME bit in MDCR_EL3

Currently the MDCR_EL3 initialisation implicitly disables
MDCR_EL3.SPME by using mov_imm.

This patch makes the SPME bit more visible by explicitly
disabling it and documenting its use in different versions
of the architecture.

Signed-off-by: Petre-Ionut Tudor <petre-ionut.tudor@arm.com>
Change-Id: I221fdf314f01622f46ac5aa43388f59fa17a29b3

show more ...


/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2u/aarch64/bl2u_entrypoint.S
/rk3399_ARM-atf/docs/getting_started/user-guide.rst
/rk3399_ARM-atf/docs/plat/qemu_sbsa.rst
/rk3399_ARM-atf/drivers/mmc/mmc.c
/rk3399_ARM-atf/drivers/st/gpio/stm32_gpio.c
/rk3399_ARM-atf/fdts/stm32mp157a-avenger96.dts
/rk3399_ARM-atf/fdts/stm32mp157a-dk1.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts
aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/st/stm32_hash.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a65.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a65ae.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_hercules_ae.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_hercules_ae.S
/rk3399_ARM-atf/lib/extensions/pauth/pauth_helpers.S
/rk3399_ARM-atf/plat/arm/board/a5ds/a5ds_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/devapc/devapc.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/devapc/devapc.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/emi_mpu/emi_mpu.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/emi_mpu/emi_mpu.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8183/platform.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
0a12302c27-May-2019 Lionel Debieve <lionel.debieve@st.com>

Add missing support for BL2_AT_EL3 in XIP memory

Add the missing flag for aarch32 XIP memory mode. It was
previously added in aarch64 only.
Minor: Correct the aarch64 missing flag.

Signed-off-by: L

Add missing support for BL2_AT_EL3 in XIP memory

Add the missing flag for aarch32 XIP memory mode. It was
previously added in aarch64 only.
Minor: Correct the aarch64 missing flag.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Change-Id: Iac0a7581a1fd580aececa75f97deb894858f776f

show more ...


/rk3399_ARM-atf/common/fdt_fixup.c
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/maintainers.rst
/rk3399_ARM-atf/docs/plat/hikey.rst
/rk3399_ARM-atf/docs/plat/hikey960.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/intel-agilex.rst
/rk3399_ARM-atf/docs/plat/intel-stratix10.rst
/rk3399_ARM-atf/docs/plat/meson-g12a.rst
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/rpi4.rst
/rk3399_ARM-atf/drivers/amlogic/crypto/sha_dma.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/st/bsec/bsec.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_hash.c
/rk3399_ARM-atf/drivers/st/io/io_stm32image.c
/rk3399_ARM-atf/fdts/a5ds.dts
/rk3399_ARM-atf/fdts/stm32mp157c-security.dtsi
aarch32/el3_common_macros.S
aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/drivers/st/bsec.h
/rk3399_ARM-atf/include/drivers/st/stm32_hash.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_pm.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/plat/amlogic/g12a/g12a_bl31_setup.c
/rk3399_ARM-atf/plat/amlogic/g12a/g12a_common.c
/rk3399_ARM-atf/plat/amlogic/g12a/g12a_def.h
/rk3399_ARM-atf/plat/amlogic/g12a/g12a_pm.c
/rk3399_ARM-atf/plat/amlogic/g12a/include/platform_def.h
/rk3399_ARM-atf/plat/amlogic/g12a/platform.mk
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_def.h
/rk3399_ARM-atf/plat/amlogic/gxbb/platform.mk
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_def.h
/rk3399_ARM-atf/plat/amlogic/gxl/platform.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/a5ds_pm.c
/rk3399_ARM-atf/plat/arm/board/a5ds/aarch32/a5ds_helpers.S
/rk3399_ARM-atf/plat/arm/board/a5ds/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/rpi/common/include/rpi_shared.h
/rk3399_ARM-atf/plat/rpi/common/rpi3_common.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi/rpi4/aarch64/armstub8_header.S
/rk3399_ARM-atf/plat/rpi/rpi4/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi/rpi4/include/plat.ld.S
/rk3399_ARM-atf/plat/rpi/rpi4/include/plat_macros.S
/rk3399_ARM-atf/plat/rpi/rpi4/include/platform_def.h
/rk3399_ARM-atf/plat/rpi/rpi4/include/rpi_hw.h
/rk3399_ARM-atf/plat/rpi/rpi4/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi4/rpi4_bl31_setup.c
/rk3399_ARM-atf/plat/st/common/include/stm32mp_auth.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32mp_auth.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/boot_api.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_private.c
c3e8b0be20-Aug-2019 Alexei Fedorov <Alexei.Fedorov@arm.com>

AArch32: Disable Secure Cycle Counter

This patch changes implementation for disabling Secure Cycle
Counter. For ARMv8.5 the counter gets disabled by setting
SDCR.SCCD bit on CPU cold/warm boot. For

AArch32: Disable Secure Cycle Counter

This patch changes implementation for disabling Secure Cycle
Counter. For ARMv8.5 the counter gets disabled by setting
SDCR.SCCD bit on CPU cold/warm boot. For the earlier
architectures PMCR register is saved/restored on secure
world entry/exit from/to Non-secure state, and cycle counting
gets disabled by setting PMCR.DP bit.
In 'include\aarch32\arch.h' header file new
ARMv8.5-PMU related definitions were added.

Change-Id: Ia8845db2ebe8de940d66dff479225a5b879316f8
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>

show more ...


/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/bl1_fwu.c
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/common/fdt_fixup.c
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/marvell/build.rst
/rk3399_ARM-atf/docs/plat/marvell/index.rst
/rk3399_ARM-atf/docs/plat/marvell/misc/mvebu-a8k-addr-map.rst
/rk3399_ARM-atf/docs/plat/marvell/misc/mvebu-amb.rst
/rk3399_ARM-atf/docs/plat/marvell/misc/mvebu-ccu.rst
/rk3399_ARM-atf/docs/plat/marvell/misc/mvebu-io-win.rst
/rk3399_ARM-atf/docs/plat/marvell/misc/mvebu-iob.rst
/rk3399_ARM-atf/docs/plat/marvell/porting.rst
/rk3399_ARM-atf/drivers/partition/gpt.c
/rk3399_ARM-atf/drivers/partition/partition.c
/rk3399_ARM-atf/drivers/rpi3/mailbox/rpi3_mbox.c
/rk3399_ARM-atf/drivers/rpi3/rng/rpi3_rng.c
aarch32/arch.h
aarch32/el3_common_macros.S
aarch32/smccc_macros.S
/rk3399_ARM-atf/include/common/fdt_fixup.h
/rk3399_ARM-atf/include/drivers/partition/gpt.h
/rk3399_ARM-atf/include/drivers/partition/partition.h
/rk3399_ARM-atf/include/drivers/rpi3/mailbox/rpi3_mbox.h
/rk3399_ARM-atf/include/drivers/rpi3/rng/rpi3_rng.h
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/plat/amlogic/common/aml_scpi.c
/rk3399_ARM-atf/plat/amlogic/common/aml_sip_svc.c
/rk3399_ARM-atf/plat/amlogic/common/include/aml_private.h
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_def.h
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_io_storage.c
/rk3399_ARM-atf/plat/hisilicon/hikey/hikey_private.h
/rk3399_ARM-atf/plat/hisilicon/hikey/include/hikey_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl2_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_io_storage.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_private.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/pmic/pmic_wrap_init.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/mcdi/mtk_mcdi.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/mcdi/mtk_mcdi.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/pmic/pmic.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/pmic/pmic.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm_pmic_wrap.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm_pmic_wrap.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm_suspend.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/spm_suspend.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spmc/mtspmc_private.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/sspm/sspm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/sspm/sspm.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/uart/uart.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/uart/uart.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/plat_debug.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/sspm_reg.h
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_debug.c
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/platform.mk
/rk3399_ARM-atf/plat/qemu/common/aarch32/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/qemu/common/include/plat_macros.S
/rk3399_ARM-atf/plat/qemu/common/qemu_bl1_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/qemu/common/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qemu/common/qemu_console.c
/rk3399_ARM-atf/plat/qemu/common/qemu_gicv2.c
/rk3399_ARM-atf/plat/qemu/common/qemu_gicv3.c
/rk3399_ARM-atf/plat/qemu/common/qemu_image_load.c
/rk3399_ARM-atf/plat/qemu/common/qemu_io_storage.c
/rk3399_ARM-atf/plat/qemu/common/qemu_pm.c
/rk3399_ARM-atf/plat/qemu/common/qemu_private.h
/rk3399_ARM-atf/plat/qemu/common/qemu_rotpk.S
/rk3399_ARM-atf/plat/qemu/common/qemu_stack_protector.c
/rk3399_ARM-atf/plat/qemu/common/qemu_trusted_boot.c
/rk3399_ARM-atf/plat/qemu/common/sp_min/sp_min-qemu.mk
/rk3399_ARM-atf/plat/qemu/common/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/qemu/common/topology.c
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/px30/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3288/include/shared/bl32_param.h
/rk3399_ARM-atf/plat/rockchip/rk3328/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3368/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3399/include/shared/bl31_param.h
/rk3399_ARM-atf/plat/rpi/common/include/rpi_shared.h
/rk3399_ARM-atf/plat/rpi/common/rpi3_common.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_image_load.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_io_storage.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_pm.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_rotpk.S
/rk3399_ARM-atf/plat/rpi/common/rpi3_stack_protector.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_topology.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_trusted_boot.c
/rk3399_ARM-atf/plat/rpi/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi/rpi3/aarch64/rpi3_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/rpi/rpi3/include/plat_macros.S
/rk3399_ARM-atf/plat/rpi/rpi3/include/platform_def.h
/rk3399_ARM-atf/plat/rpi/rpi3/include/rpi_hw.h
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi_mbox_board.c
6129e9a613-Sep-2019 Soby Mathew <soby.mathew@arm.com>

Merge "Refactor ARMv8.3 Pointer Authentication support code" into integration


/rk3399_ARM-atf/.editorconfig
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/design/auth-framework.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/getting_started/user-guide.rst
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/auth/tbbr/tbbr_cot.c
/rk3399_ARM-atf/drivers/st/uart/aarch32/stm32_console.S
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32-1t.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32-common.dtsi
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci-aarch32.dts
aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config.h
/rk3399_ARM-atf/include/export/plat/mediatek/common/plat_params_exp.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/extensions/pauth.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/extensions/pauth/pauth_helpers.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/amlogic/common/aml_console.c
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_common.c
/rk3399_ARM-atf/plat/amlogic/gxbb/platform.mk
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_common.c
/rk3399_ARM-atf/plat/amlogic/gxl/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_pauth.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/mediatek/common/drivers/pmic_wrap/pmic_wrap_init.c
/rk3399_ARM-atf/plat/mediatek/common/drivers/rtc/rtc_common.c
/rk3399_ARM-atf/plat/mediatek/common/params_setup.c
/rk3399_ARM-atf/plat/mediatek/common/plat_params.h
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/gpio/mtgpio.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/gpio/mtgpio.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/gpio/mtgpio_cfg.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/pmic/pmic.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/pmic/pmic.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/pmic/pmic_wrap_init.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/rtc/rtc.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/rtc/rtc.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spmc/mtspmc.c
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spmc/mtspmc.h
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spmc/mtspmc_private.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/mt_gic_v3.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/plat_dcm.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8183/include/spm.h
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_dcm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_mt_gic.c
/rk3399_ARM-atf/plat/mediatek/mt8183/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8183/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min_setup.c
/rk3399_ARM-atf/readme.rst
/rk3399_ARM-atf/tools/cert_create/include/cert.h
/rk3399_ARM-atf/tools/cert_create/include/key.h
/rk3399_ARM-atf/tools/cert_create/src/cert.c
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
ed108b5613-Sep-2019 Alexei Fedorov <Alexei.Fedorov@arm.com>

Refactor ARMv8.3 Pointer Authentication support code

This patch provides the following features and makes modifications
listed below:
- Individual APIAKey key generation for each CPU.
- New key gene

Refactor ARMv8.3 Pointer Authentication support code

This patch provides the following features and makes modifications
listed below:
- Individual APIAKey key generation for each CPU.
- New key generation on every BL31 warm boot and TSP CPU On event.
- Per-CPU storage of APIAKey added in percpu_data[]
of cpu_data structure.
- `plat_init_apiakey()` function replaced with `plat_init_apkey()`
which returns 128-bit value and uses Generic timer physical counter
value to increase the randomness of the generated key.
The new function can be used for generation of all ARMv8.3-PAuth keys
- ARMv8.3-PAuth specific code placed in `lib\extensions\pauth`.
- New `pauth_init_enable_el1()` and `pauth_init_enable_el3()` functions
generate, program and enable APIAKey_EL1 for EL1 and EL3 respectively;
pauth_disable_el1()` and `pauth_disable_el3()` functions disable
PAuth for EL1 and EL3 respectively;
`pauth_load_bl31_apiakey()` loads saved per-CPU APIAKey_EL1 from
cpu-data structure.
- Combined `save_gp_pauth_registers()` function replaces calls to
`save_gp_registers()` and `pauth_context_save()`;
`restore_gp_pauth_registers()` replaces `pauth_context_restore()`
and `restore_gp_registers()` calls.
- `restore_gp_registers_eret()` function removed with corresponding
code placed in `el3_exit()`.
- Fixed the issue when `pauth_t pauth_ctx` structure allocated space
for 12 uint64_t PAuth registers instead of 10 by removal of macro
CTX_PACGAKEY_END from `include/lib/el3_runtime/aarch64/context.h`
and assigning its value to CTX_PAUTH_REGS_END.
- Use of MODE_SP_ELX and MODE_SP_EL0 macro definitions
in `msr spsel` instruction instead of hard-coded values.
- Changes in documentation related to ARMv8.3-PAuth and ARMv8.5-BTI.

Change-Id: Id18b81cc46f52a783a7e6a09b9f149b6ce803211
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>

show more ...

b90f207a20-Aug-2019 Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>

Invalidate dcache build option for bl2 entry at EL3

Some of the platform (ie. Agilex) make use of CCU IPs which will only be
initialized during bl2_el3_early_platform_setup. Any operation to the
cac

Invalidate dcache build option for bl2 entry at EL3

Some of the platform (ie. Agilex) make use of CCU IPs which will only be
initialized during bl2_el3_early_platform_setup. Any operation to the
cache beforehand will crash the platform. Hence, this will provide an
option to skip the data cache invalidation upon bl2 entry at EL3

Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Change-Id: I2c924ed0589a72d0034714c31be8fe57237d1f06

show more ...

91624b7f12-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


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/user-guide.rst
/rk3399_ARM-atf/docs/maintainers.rst
/rk3399_ARM-atf/drivers/amlogic/console/aarch64/meson_console.S
/rk3399_ARM-atf/drivers/amlogic/crypto/sha_dma.c
/rk3399_ARM-atf/drivers/renesas/rcar/qos/M3/qos_init_m3_v30.c
/rk3399_ARM-atf/drivers/renesas/rcar/qos/M3/qos_init_m3_v30_mstat195.h
/rk3399_ARM-atf/drivers/renesas/rcar/qos/M3/qos_init_m3_v30_mstat390.h
/rk3399_ARM-atf/drivers/st/bsec/bsec.c
/rk3399_ARM-atf/drivers/st/clk/stm32mp1_clk.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp1_ddr.c
/rk3399_ARM-atf/drivers/st/io/io_stm32image.c
/rk3399_ARM-atf/drivers/st/iwdg/stm32_iwdg.c
/rk3399_ARM-atf/drivers/st/mmc/stm32_sdmmc2.c
/rk3399_ARM-atf/drivers/st/pmic/stm32mp_pmic.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/boot_init_dram.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_a/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_d3.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_v3m.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/ddr_regdef.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/init_dram_tbl_h3.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/init_dram_tbl_h3ver2.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/init_dram_tbl_m3.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_b/init_dram_tbl_m3n.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/ddr_regs.h
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/dram_sub_func.c
/rk3399_ARM-atf/drivers/staging/renesas/rcar/ddr/dram_sub_func.h
aarch64/arch.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/drivers/amlogic/crypto/sha_dma.h
/rk3399_ARM-atf/include/drivers/amlogic/meson_console.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config.h
/rk3399_ARM-atf/include/drivers/st/stm32_iwdg.h
/rk3399_ARM-atf/include/drivers/st/stm32_sdmmc2.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_zeus.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amlogic/common/aarch64/aml_helpers.S
/rk3399_ARM-atf/plat/amlogic/common/aml_efuse.c
/rk3399_ARM-atf/plat/amlogic/common/aml_mhu.c
/rk3399_ARM-atf/plat/amlogic/common/aml_scpi.c
/rk3399_ARM-atf/plat/amlogic/common/aml_sip_svc.c
/rk3399_ARM-atf/plat/amlogic/common/aml_thermal.c
/rk3399_ARM-atf/plat/amlogic/common/aml_topology.c
/rk3399_ARM-atf/plat/amlogic/common/include/aml_private.h
/rk3399_ARM-atf/plat/amlogic/common/include/plat_macros.S
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_bl31_setup.c
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_common.c
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_def.h
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_pm.c
/rk3399_ARM-atf/plat/amlogic/gxbb/include/platform_def.h
/rk3399_ARM-atf/plat/amlogic/gxbb/platform.mk
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_bl31_setup.c
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_common.c
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_def.h
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_pm.c
/rk3399_ARM-atf/plat/amlogic/gxl/include/platform_def.h
/rk3399_ARM-atf/plat/amlogic/gxl/platform.mk
/rk3399_ARM-atf/plat/renesas/rcar/include/rcar_def.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32mp_common.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/stm32mp1_dbgmcu.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_dbgmcu.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_private.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/tools/amlogic/Makefile
/rk3399_ARM-atf/tools/amlogic/doimage.c
1f46197920-Aug-2019 Justin Chadwell <justin.chadwell@arm.com>

Add UBSAN support and handlers

This patch adds support for the Undefined Behaviour sanitizer. There are
two types of support offered - minimalistic trapping support which
essentially immediately cra

Add UBSAN support and handlers

This patch adds support for the Undefined Behaviour sanitizer. There are
two types of support offered - minimalistic trapping support which
essentially immediately crashes on undefined behaviour and full support
with full debug messages.

The full support relies on ubsan.c which has been adapted from code used
by OPTEE.

Change-Id: I417c810f4fc43dcb56db6a6a555bfd0b38440727
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>

show more ...

1...<<111213141516